devise是否容易受到正常http://连接的会话劫持攻击?我无法从文档中找出它。
答案 0 :(得分:8)
是。 Rails管理会话的默认方式很容易被劫持。
这是因为它向客户端传输客户端在HTTP cookie中识别自身所需的所有信息。在大多数情况下,任何可以拦截HTTP连接的人都可以从Rails的角度来假设客户端的身份。
最简单的对策是仅通过HTTPS为您的网站提供服务,并让Rails发出secure
个Cookie,告知浏览器只能通过HTTPS发送该Cookie。 security guide提供了更多有用的提示。
答案 1 :(得分:5)
如this email on Devise discussion group中所述,应用程序的安全设置位于主应用程序的域中(在本例中,我假设是Rails)。
请查看RailsCast episode - Dangers of Session Hijacking以处理Rails应用程序级别的会话劫持。
Rails Security Guide's section on Session Hijacking是另一个必读资源。
Devise通过在Rails应用程序的:secure => true
文件中设置config/initializers/devise.rb
来提供强制仅SSL的cookie。