【问题标题】:'protect_from_forgery' in Application controller in RailsRails 应用程序控制器中的“protect_from_forgery”
【发布时间】:2012-12-13 11:32:39
【问题描述】:

在我的 Rails 应用程序目录的 config/application_controller.rb 文件中,我找到了以下代码:

class ApplicationController < ActionController::Base
  protect_from_forgery
end

谁能告诉我project_from_forgery 是什么意思以及为什么要使用它?

【问题讨论】:

    标签: ruby-on-rails applicationcontroller


    【解决方案1】:

    它可以防止 csrf。例如所有 POST 请求都应具有特定的安全令牌。

    http://en.wikipedia.org/wiki/Cross-site_request_forgery

    http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf

    【讨论】:

      【解决方案2】:

      protect_from_forgery:Rails 中的一项功能,可防止跨站点请求伪造 (CSRF) 攻击。

      此功能使所有生成的表单都有一个隐藏的id 字段。此id 字段必须与存储的id 匹配,否则不接受表单提交。

      这可以防止其他网站上的恶意表单或插入 XSS 的表单提交到 Rails 应用程序。

      【讨论】:

        【解决方案3】:

        这是防止 csrf 攻击的 rails 内置功能,

        从此链接了解更多信息,

        http://railskey.wordpress.com/2012/07/02/rails-protect_from_forgery/

        通过将身份验证令牌添加到表单字段作为隐藏字段来防止跨站点脚本攻击。在 Post 请求中,该令牌与存储在数据库中的令牌相匹配。

        【讨论】:

        • 这是针对 CSRF 的。 XSS 是不同类型的攻击。
        猜你喜欢
        • 2012-02-28
        • 1970-01-01
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        • 2014-07-03
        • 2011-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多