【问题标题】:Secure session cookie is not set未设置安全会话 cookie
【发布时间】:2012-11-01 23:28:03
【问题描述】:

我正在尝试将会话 cookie 安全标志设置为 true。我将以下内容添加到了我的环境/production.rb

ActionController::Base.session_options[:secure] = true

在生产模式下,我在服务器响应中看不到 set-cookie 标头(我正在使用 Tamper Data Firefox 工具查看流量)。我尝试删除所有cookie,手动设置包括子域的域(由于域在许多应用程序之间共享,appache服务器将请求转发到正确的应用程序,因此应用程序服务器始终接收请求,就好像它来自本地主机一样)。 我还尝试在开发模式下对其进行测试,我假设服务器至少应该设置 cookie,即使请求是通过 http 进行的,但浏览器不会通过 http 发送 cookie,但服务器不会再次发送 set-cookie 标头.如果我不设置安全标志,会话就可以正常工作。我在这里遗漏了什么吗?

【问题讨论】:

  • 如果是 Rails 3.x 应该是 Rails.application.config.secret_token
  • 感谢您的评论,但我在 2.3.8。我也在尝试为 cookie 设置安全标志,而不是会话秘密令牌。

标签: ruby-on-rails ruby cookies session-cookies


【解决方案1】:

我发现在我的 actionpack 版本中,会话 cookie 仅通过 ssl 设置。 虽然根据定义,当请求通过 http 时,服务器可以设置一个安全的 cookie,但浏览器不会再发送请求。在我的应用程序中,我没有在应用程序级别强制执行 ssl,而是在 appache 级别强制执行,因此 rails 发出的初始请求是通过 http 并且未设置 cookie。

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 2016-04-08
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2015-05-22
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多