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