【问题标题】:Is protect_against_forgery required in Rails?Rails 中是否需要protect_against_forgery?
【发布时间】:2016-09-13 18:54:53
【问题描述】:

我已经阅读 Rails 安全性几个小时了,我对 CSRF 机制有点困惑。我看到的所有地方都说要打开它,您需要使用protect_against_forgery 函数。

我在一个大型应用程序 (Rails3.2-4) 中工作,但似乎在代码库中找不到它的任何用途。 CSRF 机制似乎还在:

protect_against_forgery? # true

Rails 对此事的官方答复是什么?我们需要显式设置还是自动设置?

【问题讨论】:

    标签: ruby-on-rails csrf csrf-protection


    【解决方案1】:

    是的,防伪功能默认开启。应该在您的 ApplicationController 中的某处启用。可能采用before_filter :verify_authenticity_token 或类似的形式。

    【讨论】:

      【解决方案2】:

      在 application.html.erb 中,我们有 csrf_meta_tags 用于防止伪造请求,如果您删除了该标签,那么您将收到 Invalid token authenticity 错误。
      默认开启。

      【讨论】:

        猜你喜欢
        • 2017-11-11
        • 2018-12-09
        • 2013-03-04
        • 1970-01-01
        • 2022-11-06
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多