gpt4 book ai didi

ruby-on-rails - 设计 - 它如何设置 session cookie?

转载 作者:行者123 更新时间:2023-12-04 03:35:15 25 4
gpt4 key购买 nike

我有一个场景,我不需要在 HTTP 上设置 session ,而只需在 HTTPS 页面上设置它。目前的问题是我们正在 HTTPS 和 HTTP 之间共享 session 字符串。

IE。如果您访问我们的 HTTP 页面,您将被分配一个 session 字符串(不安全)。当您访问我们的 HTTPS 页面之一时,它使用相同的 session 字符串。它们在两者之间共享。我们不希望人们能够通过未加密的连接窥探 session 字符串。

有人可以指点我一些阅读 Material ,或者围绕我如何实现这样的目标做一些说明吗?甚至在哪里看 - 我有点难住。找不到太多

最佳答案

默认情况下,rails session 数据存储在 cookie 中,听起来您只想使用 SSL cookie 吗?

更新:尝试添加 secure: true在您的 config/initializers/session_store.rb文件,即

secure_option = (Rails.env.development? || Rails.env.test?) ? false : true
YourApp::Application.config.session_store :cookie_store, { key: '_xxxx_session', secure: secure_option }

设计在生成 cookie 时应使用 rails 设置

原答案

在您的 config/initializers/devise.rb文件应该有一行看起来像这样
 # :secure => true in order to force SSL only cookies.

尝试添加到 config.rememberable_options 并重新启动 rails - 注意:在开发模式下,这不是您想要的,您可能能够做到
secure_option = (Rails.env.development? || Rails.env.test?) ? false : true
config.rememberable_options = { :secure => secure_option }

也可以看看:
  • http://railscasts.com/episodes/356-dangers-of-session-hijacking
  • https://github.com/plataformatec/devise/wiki/How-To:-Use-SSL-(HTTPS)
  • 关于ruby-on-rails - 设计 - 它如何设置 session cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17286700/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com