ActionController::InvalidAuthenticityToken — 这里发生了什么?
这里发生了一些事情ActionController::InvalidAuthenticityToken,让我们一起来看看吧!
首先,ActionController`Controller` 是 Ruby on Rails 中所有“控制器”都继承的类,它内置了许多功能,例如“检查身份验证令牌是否有效”。由于 Rails 倾向于约定优于配置,并且具有很强的规范性,因此这种行为是默认行为,无需额外导入相关功能。
当控制器检测到我们没有在 `<command> POST`、PUT`<command>`、PATCH`<command>` 或 ` DELETE<command>` 请求中正确传递 CSRF(跨站请求伪造)令牌时,就会出现此错误。这些类型的请求通常会向服务器发送新数据,我们需要验证这些请求是否代表网站用户合法执行。
点击此处了解更多关于 CSRF 及相关漏洞的信息……
form_for在 Rails 中使用 `<form>` 或相关标签时,我们会神奇地将一个authenticity_tokenCSRF 令牌作为参数随请求一起传递。因此,如果您尝试提交一个普通的 HTML 表单,而没有手动添加由初始请求生成的正确 CSRF 身份验证令牌,就会收到错误InvalidAuthenticityToken。
有时,如果我们知道不需要进行此检查,则可以合理地跳过此操作。谨慎起见,可以像这样操作……
skip_before_action :verify_authenticity_token
想了解更多本文中提到的概念,请查看这篇文章……
祝您编程愉快❤️
文章来源:https://dev.to/ben/actioncontroller-invalidauthenticitytoken-what-s-going-on-here-2828