默认情况下,Rails会将会话存储在cookie中.会话状态被保持在一个散列,这是Marshal.dump'd和Base64.encode64倒是成一个字符串要发送到在浏览器Set-Cookie首标.此外,会话与您的密码签名Rails.application.config.secret_token,您可以在其中找到config/initializers/secret_token.rb.
任何人都可以阅读会话状态,包括flash哈希.但是不可能伪造它(除非攻击者拥有密钥).但是,没有针对会话状态的重放攻击的保护(攻击者使用他之前见过的会话cookie,并且包含他现在要发送给服务器的值).
如果重放攻击有问题,或者用户读取会话状态的能力是一个问题,您应该使用AR会话存储,或者可能更好的想法,使用Redis会话存储.Redis是一个快速键值存储,其特定用例与其他键值存储包括存储会话状态.
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |