我正在使用 Rails 3,devise,cancan。我已将 cookie 设置为特定于子域,并将子域与用户名一起用作身份验证密钥。
IE
devise :authentication_keys => [:username, :subdomain]
因此,当我在特定子域中对用户进行身份验证时,该用户无权访问任何其他子域。如果我只是编辑他的 cookie 会话(firebug)并更改 cookie 的域(即从 foo.mydomain.com 更改为 fee.mydomain.com),则用户可以获得对新子域的访问权限。
我意识到我可以使用 cancan 阻止访问,但理想情况下我想通过身份验证来限制用户。它以某种方式感觉更安全,并且需要更少的配置(在ability.rb 中少了几行)。
知道如何防止这种死的简单黑客攻击吗?