Rails:安全会话 Cookie
Rails : Secure Session Cookies
我有一个 rails 应用程序,它没有用于登录的用户界面。用户登录由另一个应用程序完成并创建会话。我们使用 Devise 进行身份验证。现在,当我们检查会话时,安全标志设置为 false。
根据我的研究,我尝试在 config/initializers/session_store.rb
中设置安全标志
My::Application.config.session_store :cookie_store, :key => '_MyApp_session', :secure => true
并重新启动了服务器。然后我检查了我的会话对象,它仍然有安全标志 false。
此外,当我在调试器中停止我的应用程序并输入会话输出时
#<ActionDispatch::Request::Session:0x6f43200 not yet loaded>
所以我做了
session[:init] = true
然后检查安全标志。
如何保护我的会话对象?
还有其他 cookie 在云中具有安全属性 true 但在我的本地它不显示 secure: true..
安全标志使 cookie 仅由浏览器通过 https 连接发送,而不是普通的 http。
如果您的环境不是 https,安全标志就没有意义,也不会有效设置。所以你只能通过 https 进行测试。
我有一个 rails 应用程序,它没有用于登录的用户界面。用户登录由另一个应用程序完成并创建会话。我们使用 Devise 进行身份验证。现在,当我们检查会话时,安全标志设置为 false。
根据我的研究,我尝试在 config/initializers/session_store.rb
中设置安全标志My::Application.config.session_store :cookie_store, :key => '_MyApp_session', :secure => true
并重新启动了服务器。然后我检查了我的会话对象,它仍然有安全标志 false。
此外,当我在调试器中停止我的应用程序并输入会话输出时
#<ActionDispatch::Request::Session:0x6f43200 not yet loaded>
所以我做了
session[:init] = true
然后检查安全标志。
如何保护我的会话对象?
还有其他 cookie 在云中具有安全属性 true 但在我的本地它不显示 secure: true..
安全标志使 cookie 仅由浏览器通过 https 连接发送,而不是普通的 http。
如果您的环境不是 https,安全标志就没有意义,也不会有效设置。所以你只能通过 https 进行测试。