Ruby on rails 设计Rails API
有人能给我解释一下这行代码吗Ruby on rails 设计Rails API,ruby-on-rails,authentication,devise,token,Ruby On Rails,Authentication,Devise,Token,有人能给我解释一下这行代码吗 skip_before_filter :verify_authenticity_token, :if => Proc.new { |c| c.request.format == 'application/json' } 我应该用它吗?为什么,为什么不。谢谢。验证真实性令牌是Rails用来防止攻击的before\u操作(在每个控制器操作之前调用的方法,在Rails 4之前称为before\u过滤器)。 这行代码的意思是:“如果这是一个JSON请求,那么跳过这
skip_before_filter :verify_authenticity_token, :if => Proc.new { |c| c.request.format == 'application/json' }
我应该用它吗?为什么,为什么不。谢谢。验证真实性令牌是Rails用来防止攻击的before\u操作(在每个控制器操作之前调用的方法,在Rails 4之前称为before\u过滤器)。
这行代码的意思是:“如果这是一个JSON请求,那么跳过这个控制器的CSRF检查”
这对于需要向不在同一域上的远程站点提供的JSON API非常有用,因此会导致CSRF检查失败。只要你确定,这是安全的。但是,如果您的控制器不会被外部web应用程序使用(并且您只是在自己的站点上执行AJAX操作),那么不要关闭“验证真实性”令牌检查。那么,您是说我的代码没有错?在我的控制台上,日志显示json设计请求的“警告:无法验证CSRF令牌真实性”。危险吗?通过使用,我的API控制器是独立的。我的web应用程序上还有一个rails管理员。请阅读这篇文章:@rlarcombe是另一种声明身份验证警告的方式吗?远程服务器是:“不要从你自己的rails应用程序中调用这些CSRF未经检查的端点”?@ChrisCameron-是的,我想是的。另请参阅