我正在开发一个最近通过安全审核的 Rails 应用程序,他们提出的一个问题是,如果用户从另一个用户的 cookie 中获取“session_id”,他就能够以该用户身份登录。有可能防止这种情况吗?我将如何使用我当前的设置来做到这一点?
Rails 3.2.12
设计(2.1.2)
我config/initializers/session_store.rb
的是
MyApp::Application.config.tap do |config|
config.session_store :active_record_store, config.session_options
end
在生产中启用强制 SSL
config.force_ssl = true
我查看了Rails 4 Encrypted Cookie Replay Attack但由于我的会话使用活动记录,我不确定我是否可以这样做。
我试图:session_limitable
从Devise security extension添加,但它似乎完全在做其他事情。
引用安全测试结果
通过确保一次只有 1 个登录处于活动状态来减轻会话重播。-- 只需更改“_session_id”cookie 即可以其他用户身份登录