微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – rails“secret_token”对config.session_store(:cache_store)仍然很重要吗?

我已完成谷歌尽职调查,无法找到明确的答案.所以,好的堆栈溢出…

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

解决方法

secret_token由cookie_store使用,用于存储会话数据客户端. 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未设置启动,但尝试设置会话变量的请求将失败500.我没有确切地追踪故障发生的位置.

但是如果您没有设置secret_token,并且您的机架堆栈中没有Actiondispatch :: Session :: CookieStore,并且您的应用程序似乎可以正常工作,那么您可以免受该特定攻击.

secret_token的另一个用途是digest authentication.

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

原文地址:https://www.jb51.cc/ruby/268331.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐