ruby-on-rails - rails "secret_token"对 config.session_store( :cache_store)?) 仍然很重要

标签 ruby-on-rails ruby-on-rails-3

我已经完成了我的谷歌尽职调查,但找不到明确的答案。所以,堆栈溢出的好人......

如果在 rails 3 应用程序中,我没有使用 cookie 来存储 session ,那么安全地管理“Application.config.secret_token”是否重要?此外,它被使用了吗?

最佳答案

secret_token 由 cookie_store 使用,用于在客户端存储 session 数据。 Here是一篇关于如何使用已知的 secret_token 执行任意代码的好文章。

cookie_store更准确地说是ActionDispatch::Session::CookieStore ,一种机架中间件,可在您设置 session_store(:cookie_store) 时将负载加载到机架堆栈中.因此,如果您将其设置为 :session_store你不设置secret_token应该没问题。

您可以查看 Rails.configuration.middleware查看所有中间件并确认 ActionDispatch::Session::CookieStore不是其中之一。

FWIW,rails 3.2 应用程序将以 secret_token 开头未设置,但尝试设置 session 变量的请求将失败 500。我还没有准确追踪失败发生的位置。

但是如果你没有设置secret_token,并且你没有ActionDispatch::Session::CookieStore在您的机架堆栈中,并且您的应用程序似乎可以正常工作,您就可以免受该特定攻击。
secret_token的其他用途是 digest authentication .

总之,要回答这个问题,如果您不使用摘要式身份验证,并且不使用 cookie_store(例如,通过设置 session_store(:cache_store) ),则 secret_token并不重要。

关于ruby-on-rails - rails "secret_token"对 config.session_store( :cache_store)?) 仍然很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516010/

相关文章:

ruby-on-rails - 在 Rails 中实现查找表

ruby-on-rails - 嵌套关联 - elasticsearch-rails 还是耐嚼的?

css - 为每个展示页面自定义颜色 - ruby​​ on rails

ruby-on-rails-3 - 无法 headless 运行 Jasmine 规范

ruby-on-rails - 在 Ubuntu 上新安装 Ruby on Rails,让新应用程序运行时出现问题(TypeError)!

ruby-on-rails - mass_assignment_authorizer 的更改导致 Ruby on Rails 3.1 中的错误

ruby-on-rails - 带有Youtube API请求的Fancybox

json - 在 jbuilder block 中将 json 属性设置为 nil

ruby-on-rails - acts_as_tree 并通过子标题将值传播到项目

ruby-on-rails - 我们可以从 View 调用 Controller 的方法吗(理想情况下我们从 helper 调用)?