Rails:设计是否容易受到会话劫持的影响?

时间:2012-10-13 15:34:55

标签: ruby-on-rails devise

devise是否容易受到正常http://连接的会话劫持攻击?我无法从文档中找出它。

2 个答案:

答案 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。