49

我现在正在使用 Ruby on Rails开发 Web API 。当 Rails 应用收到没有任何 csrf 令牌的 POST 请求时,会出现以下错误消息。因为该应用程序没有视图。

WARNING: Can't verify CSRF token authenticity

所以我的问题是在这种情况下如何安全地逃避 csrf 令牌检查?

非常感谢您提前。

4

2 回答 2

66

您可以通过添加来做到这一点

skip_before_filter  :verify_authenticity_token

到您的控制器。这样,所有传入控制器的请求都会跳过 :verify_authenticity_token 过滤器。

于 2013-02-23T14:21:12.417 回答
20

对于rails 4,它应该是

skip_before_action :verify_authenticity_token, only: [:one_or_two_actions_here]

请注意,您应该避免在控制器的所有操作上跳过 verify_authenticity_token,而是使用选项only仅在必须跳过的地方跳过。查看文档

于 2015-12-15T22:59:44.123 回答