SQL这样的数据库语言也能被网络安全问题影响 啧啧啧 太有趣了
能通过网络攻击到数据库 脑力对决真是thrilling 啧啧啧
利用SQL文法的特征 来撰写有利自己行为的文法 啧啧啧
原来ActiveRecord 语法里这样的代码
@comments.where( "comments.content LIKE '%#{params[:keyword]}%'")
怪怪的那部分是SQL文法啊 原来如此 悟了
一直好奇的 params[:event] 的意思
自己随便输入了一些参数的例子
"event"=>{"name"=>"Angel", "description"=>"测试一下 mass assignment"}
params[:event]
会被解析成类似这样的hash哦
对称加密
缺点
与「公开密钥加密」相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一
Cookie会被附加在每个 HTTP 请求中,所以无形中增加了流量
优点
对称加密的速度比公钥加密快很多,在很多场合都需要对称加密
PS. 看给cookie加密的资料 发现cookie居然分成两种 内存cookie 以及 硬盘cookie 存在的时长不同 厉害啊. 最后对cookie有趣的发现是 cookie常见用于「用户登录」(用的是硬盘cookie手段) 以及「购物车」都是“ HTTP 协议是无状态的 ” 逼出来的
Cookie跟Session
RoR是常见用cookie给session加密 但是这两不是等同关系哦
对安全性要求很高时 可以用其他的办法替代cookie, 对session进行加密. 比如把相关数据存在数据库, 而不是cookie中. 骇客就无从下手
还教了如何查找到项目的 session 是用哪种方式被存储的,如果是用 cookie_store
就知道session相关info加密后是存cookie里的,然后 cookie key
会帮忙你定位到具体cookie数值
我估计用非cookie方法加密的话,这里会显示不同的代码
DoS 拒绝服务攻击
对自己网站弄叫压力测试 对别人网站搞这套就是违法了 这句真的经典
亲眼看到浏览器被攻击的效果真的有趣 网页刷不出来 server一直跑 啧啧啧 有趣
安装 rack-attack gem过程遇到报错 无法顺利安装
推测是某个部分版本不符合 毕竟教程是几年前的 尝试
brew update && brew upgrade
将全部都更新到最新状态
甚至尝试了
brew reinstall openssl
brew link openssl --force
等一堆乱七八糟的代码来解救...都还是无效
只能大概知道应该是 openssl
出问题导致的报错 也很大可能是因为Mac系统升级导致的问题 别随便升级电脑系统啊 好麻烦啊啊啊
可以尝试参考 https://mithun.co/hacks/library-not-loaded-libcrypto-1-0-0-dylib-issue-in-mac/
这个bug先搁着吧 继续课程先 以后二刷再来慢慢解决 大框架重要
正准备继续学...等等... 发现连rails server都无法正常跑起来了...估计是因为前面乱尝试debug删除了什么重要部分...啊啊啊 好头疼 只能硬着头皮继续debug了...
You probably need to set the correct ruby version on your project using your ruby version manager
rvm --default 'ruby-version'
乱尝试看看吧
嗯...然后发现变成了连rails都没有安装的状态...什么鬼啊啊啊
按照步骤做,rails安回去后 接下来发现gem全员出走 要 bundle install
回来
什么鬼...咦 等等...妈耶gem install可以正常工作了?!
啊 然后又遇到报错
尝试 gem install nokogiri -v '1.10.2' --source 'https://rubygems.org/'
解决
终于!!!至少能跑 rails server
了!!!我真是感动!!!呜呜呜
最后出现了很诡异的现象 两个窗口里测试 ruby -v
得出不同的版本 能跑 rails s
的窗口是
依旧报错且不能跑 rails s
或 bundle install
等代码的窗口是
同一个project哦!见鬼了真是 想说那升级一下 结果提示简直亮瞎我的眼
没有安装?!又尝试一通 最后在 2016年版本 的窗口也跑一遍 rvm --default 'ruby-version'
再重复刚刚对2019版本窗口的那些操作,就可以了
妈耶,原来还能这样 虽然折腾 但总算搞定了
果然要实践才能真的学到东西啊
这门课程报错真多,还来了一个
无法push到GitHub上解法
networksetup -setv6off Wi-Fi
运行后再push就成功了
非对称加密
原来非对称加密里的 「公钥」与「秘钥」 是一对双生子啊! 随便挑一个当「公钥」另一个就当「秘钥」用了,不是“天生就是公钥” 或者 “天生就是秘钥” 这说法
难怪可以当数字签名用 两者身份互换的时候 瞬间就是另一个功能了 虽然都是利用了 「用这个key加密过的 只能用双生子的另一个才能解密」这一手法
区别就是 被选中当公钥后,要群发分享给公众. 而私钥则是唯一人知
虽然最后还是要面对“非对称加密”效能低的问题 但是还要感叹一下
人类的思维力真的迷人 啧啧啧
千言万语 背后都是为了解决一个「信任问题」
一句话的感悟
浏览器真好骗
代码界真是日新月异 两三年而已很多东西就全部太老无法兼容了 啧啧啧
原来提高网络效能 还能一定程度的防止被黑客当做攻击对象 (其实只要网站没名气也一样效果哈哈哈哈
网络安全相关的技术 也是靠黑客不断想出聪明办法绕过去 双方相互博弈间逐步提升的啊
网友评论