Answers:
在要禁用CSRF的控制器中,检查:
skip_before_action :verify_authenticity_token
或对除几种方法以外的所有功能禁用它:
skip_before_action :verify_authenticity_token, :except => [:update, :create]
或仅禁用指定的方法:
skip_before_action :verify_authenticity_token, :only => [:custom_auth, :update]
更多信息:RoR请求伪造保护
在Rails3中,可以为特定方法在控制器中禁用csrf令牌:
protect_from_forgery :except => :create
ApplicationController
。Mike Lewis在(skip_before_filter :verify_authenticity_token
)下的响应是如何在每个控制器的基础上禁用它,假设控制器继承自ApplicationController
。
使用Rails 4,您现在可以选择skip_before_action
而不是写入skip_before_filter
。
# Works in Rails 4 and 5
skip_before_action :verify_authenticity_token
要么
# Works in Rails 3 and 4 (deprecated in Rails 4 and removed in Rails 5)
skip_before_filter :verify_authenticity_token