1

我对 Rails 应用程序中的protect_from_forgery 有疑问。我在我的 Rails 项目中使用了 Devise,最近一个关于我一直使用的版本的安全问题得到了解决,即 Devise 的 2.1.2。我已经从 2.1.2 更新到 2.1.3 并使用 Rails 3.2.12

所以我尝试更新它,但更新后我不断收到 401 并且无法再登录。

现在我向社区提出问题,为了让登录过程再次正常工作,我需要从我的 application_controller 中删除protect_from_forgery,一切都恢复正常。

但我想知道我是否通过删除它并没有引入任何其他安全漏洞?要使用该应用程序,您必须先登录,然后才能执行任何操作。所以我假设 XSS 不会影响我的应用程序,还是会影响?

期待得到一些反馈。

4

1 回答 1

0

似乎您正在使用自定义表单进行登录,而不是使用来自设计的默认表单或由 rails 表单助手生成的表单。

如果发布请求没有真实性令牌,则可能会发生此类问题。

对于自定义表单,您需要添加真实性令牌作为隐藏参数。

于 2013-07-25T11:19:47.143 回答