现在经常会通过移动网络或公共 WIFI 等不受控的环境上网,网页有可能被篡改,用户的 cookies、帐号密码等敏感信息有被监听盗用的风险。
为了更好的维护 Ruby China 会员的帐号安全,多位管理员高瞻远瞩、审时度势、运筹帷幄、决胜千里、疾风劲草、路遥马力 [1],为主站开启了 SSL 加密。
有一点要注意的是,之前记住登录所用的 cookie 依然可以不加密情况下传输,如果你很在乎 cookie 安全,最好登出再重新登录一次,新的 cookie 将会是安全传输的。
[1] 段子出自央视内部晚会
“访问 http://ruby-china.org 会自动跳转到 https://ruby-china.org 耶!好厉害。”
“什么?还有不跳的?"
"有啊,v2ex..."
“这也能双开,好神奇。”
不好意思又来黑 V2EX 了.........
撒花 :plus1:
为了更好的维护 Ruby China 会员的帐号安全,多位管理员高瞻远瞩、审时度势、运筹帷幄、决胜千里、疾风劲草、路遥马力 [1],为全站开启了 SSL 加密。
登录的时候多加一个 cookie 用来标识是否登录
cookies.permanent[:is_login] = { value: 1, secure: false }
然后把全局的 force_ssl 换成
force_ssl if: :ssl_configured?
def ssl_configured?
!Rails.env.development? && cookies[:is_login].present?
end
这样的话游客就用 http 好了,搜索引擎也属于游客,而登录会员则跳转到 https。
上面的代码没经过测试,谨慎使用
再赞,而且响应头已经加了 HSTS Strict-Transport-Security
, 以后浏览器会自动使用 https, 减少跳转,速度更快并且更安全