我了解当您查看new
和update
操作的表单时,rails会生成真实性令牌以防止CSRF攻击,但是当操作为{{1}时生成此令牌的时间何时因此没有形式?
答案 0 :(得分:1)
来自http://guides.rubyonrails.org/security.html#csrf-countermeasures:
为了防止所有其他伪造请求,我们引入了我们网站知道的必需安全令牌,但其他网站并不知道。我们在请求中包含安全令牌并在服务器上对其进行验证。这是应用程序控制器中的单行程序,是新创建的rails应用程序的默认设置:
protect_from_forgery with :: exception
这将自动包含所有表单中的安全令牌和Rails生成的Ajax请求。如果安全令牌与预期的不匹配,则会抛出异常。
删除 - 在没有表单的情况下完成 - 可能会以Ajax request
的形式实施,并由protect_from_forgery
涵盖。