在config/application_controller.rb
我的 Rails 应用程序目录中的文件中,我找到了以下代码:
class ApplicationController < ActionController::Base
protect_from_forgery
end
谁能告诉我它是什么project_from_forgery
意思以及为什么被使用?
在config/application_controller.rb
我的 Rails 应用程序目录中的文件中,我找到了以下代码:
class ApplicationController < ActionController::Base
protect_from_forgery
end
谁能告诉我它是什么project_from_forgery
意思以及为什么被使用?
它可以防止csrf。例如,所有 POST 请求都应该有特定的安全令牌。
http://en.wikipedia.org/wiki/Cross-site_request_forgery
http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf
这是 Rails 内置的功能,可防止 csrf 攻击,
从此链接了解更多信息,
http://railskey.wordpress.com/2012/07/02/rails-protect_from_forgery/
通过将身份验证令牌添加到表单字段作为隐藏字段来防止跨站点脚本攻击。在发布请求时,该令牌与存储在数据库中的令牌匹配。
protect_from_forgery
:Rails 中的一项功能,可防止跨站点请求伪造 (CSRF) 攻击。
此功能使所有生成的表单都有一个隐藏id
字段。该id
字段必须与存储id
的匹配,否则不接受表单提交。
这可以防止其他站点上的恶意表单或插入 XSS 的表单提交到 Rails 应用程序。