Rails和Rack :: Protection :: AuthenticityToken

时间:2016-03-24 14:08:30

标签: ruby-on-rails ruby-on-rails-4 csrf-protection

  • rails 4.2.6
  • ruby​​ 2.3

我在使用rails实现rack-protection gem时遇到了一些困难。

以这种方式启用了AuthenticityToken保护:

#application.rb

module MyApp
    class Application < Rails::Application
        config.middleware.use Rack::Protection
        config.middleware.use Rack::Protection::AuthenticityToken
    end
end

问题在于我远离了#34; Forbidden&#34;使用Devise gem进行日志记录时。

WARN -- : attack prevented by Rack::Protection::AuthenticityToken

然而&#34; csrf_meta_tags&#34;出现在每页的顶部:

<head>
    <meta name="csrf-param" content="authenticity_token">
    <meta name="csrf-token" content="+4lRTVfIWBjsgGXEzHFVCIf/Bi/jqqfkLPg6qdw5FMHA1L3Eh36I+hALcRIhv1VjfgTznssJqvRh+/IEMhyNeA==">
</head>

并且authenticity_token也作为隐藏在会话表单中的输入传递:

<input name="authenticity_token" value="+4lRTVfIWBjsgGXEzHFVCIf/Bi/jqqfkLPg6qdw5FMHA1L3Eh36I+hALcRIhv1VjfgTznssJqvRh+/IEMhyNeA==" type="hidden">

我在这里缺少什么?

我处于开发模式,而非生产。

谢谢!

0 个答案:

没有答案