Ruby on rails RubyonRails-Brakeman:会话cookie应设置为仅HTTP
我正在使用Ruby on rails RubyonRails-Brakeman:会话cookie应设置为仅HTTP,ruby-on-rails,cookies,brakeman,Ruby On Rails,Cookies,Brakeman,我正在使用Brakemangem分析我的rubyonrails应用程序代码 它具有以下高级安全警告: Warning Type | Message | -------------------------------------------------------------------------- Session Setting | Session cookies should be set t
Brakeman
gem
分析我的rubyonrails
应用程序代码
它具有以下高级安全警告
:
Warning Type | Message |
--------------------------------------------------------------------------
Session Setting | Session cookies should be set to HTTP only near line 3 |
根据,将config/initializers/session_sotre.rb
中的httponly
属性设置为true
,而不是false
(默认值),将删除此警告(它对我有效)
有人能解释发生了什么事吗?它为什么要解决这个问题?将该值设置为
true
是否会导致问题?默认情况下,Rails在会话cookie上设置HTTPOnly
标志。此标志禁止JavaScript读取cookie(),从而阻止访问cookie。对于会话cookie,它可以防止通过跨站点脚本窃取/劫持会话
在会话存储选项中设置httponly:false
,将关闭此保护。您可以将其设置为true
,也可以根本不设置它(在这种情况下,默认值仍然是true
)
但是,如果应用程序出于某种原因需要从JavaScript访问会话cookie,则必须关闭
httponly
选项。但是,这种情况应该非常罕见。默认情况下,Rails在会话cookie上设置HTTPOnly
标志。此标志禁止JavaScript读取cookie(),从而阻止访问cookie。对于会话cookie,它可以防止通过跨站点脚本窃取/劫持会话
在会话存储选项中设置httponly:false
,将关闭此保护。您可以将其设置为true
,也可以根本不设置它(在这种情况下,默认值仍然是true
)
但是,如果应用程序出于某种原因需要从JavaScript访问会话cookie,则必须关闭
httponly
选项。然而,这种情况应该非常罕见。检查拼写有时会出现奇怪的情况。。。谢谢你的评论检查拼写有时会做一些奇怪的事情。。。感谢您的评论Justin-如果您正在构建一个前端应用程序,例如React,您必须关闭HTTPOnly标志,以便React可以访问cookie?为什么React需要读取会话cookie?cookies被发送到服务器,而不考虑httponly
标志。该标志阻止JavaScript实际访问cookie值。Justin-如果您使用React构建前端应用程序,则必须正确关闭HTTPOnly标志,以便React可以访问cookie?React为什么需要读取会话cookie?cookies被发送到服务器,而不考虑httponly
标志。该标志阻止JavaScript实际访问cookie值。