Rails 3 真实性令牌

Posted

技术标签:

【中文标题】Rails 3 真实性令牌【英文标题】:Rails 3 Authenticity Token 【发布时间】:2011-03-04 02:49:39 【问题描述】:

有谁知道在 Ruby on Rails 3 中如何管理真实性令牌?在所有不显眼的 javascript Ruby on Rails 3 文章中展示了如何使用 html5 数据属性,我在任何地方都看不到真实性令牌。

【问题讨论】:

感谢您的提问。我想知道是否有人知道如何配置它。在config/initializers/secret_token.rb 中添加令牌很好,但是当我将文件添加到 SCM 时会暴露我的秘密。我可以将它保存在某个数据库或配置文件中吗? 【参考方案1】:

你需要把它放在你的布局文件的头部:

<%= csrf_meta_tag %>

——输出:

<meta name="csrf-token" content="<%= form_authenticity_token %>" />
<meta name="csrf-param" content="authenticity_token" />

【讨论】:

【参考方案2】:

如果你一直在使用

token_tag

要在没有表单助手的情况下向自定义表单添加验证,您现在必须使用:

token_tag form_authenticity_token

【讨论】:

【参考方案3】:

config/initializers/secret_token.rb

【讨论】:

以上是关于Rails 3 真实性令牌的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3:无法验证 CSRF 令牌的真实性

基本 .ajax 发布到 rails 3.2.2 脚手架,生成“警告:无法验证 CSRF 令牌真实性”

Rails 4 真实性令牌

无法验证 CSRF 令牌的真实性 Rails/React

无法验证 CSRF 令牌真实性 Rails 4.1

无法在 Rails 中验证 CSRF 令牌的真实性