ruby-on-rails - 强制 Rails cookie 发送任何类型的连接(安全/非安全)

标签 ruby-on-rails ruby-on-rails-3 cookies

我在浏览器中设置了一个 cookie,如下所示:

def set_browser_cookie
  cookies.permanent[:ignore_stats_cookie] = {
    :value => STAT_COOKIE,
    :domain => :all,
    :secure => false,
    :httponly => false
  }
  redirect_to settings_path
end

当我在 DEVELOPMENT 中查看 Chrome 中的 cookie 时,cookie 允许任何类型的连接。

localhost

当我在 PRODUCTION 中查看 Chrome 中的 cookie 时,cookie 只允许安全连接(应用程序本身是 https)。

production

我将 cookie 设置为 :secure => false,那么为什么只在生产中为安全连接设置 cookie?

最佳答案

我遇到了同样的问题,并且能够使用 tunnels 在我的开发机器上重现gem 作为代理,并设置 force_ssl = true在“发展”环境中。

我调试了 Rack 和 ActionPack,发现在没有 ; secure 的情况下发送 header 最后,但在此之后进行了修改。

我的下一步是使用 Wireshark 来捕获 SSL session 并对其进行解密,但我已经没有时间了。

我使用托管在 nginx 后面的 PHP 应用程序进行了测试,并且在使用 HTTPS 时,服务器能够发送不包含 secure 的 cookie。旗帜。所以这个问题绝对是我们在 Rails 中使用的堆栈所特有的,而不是浏览器的问题。

关于ruby-on-rails - 强制 Rails cookie 发送任何类型的连接(安全/非安全),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12918167/

相关文章:

jquery - 使用 Rails 3.2 和 AJAX 将多个文件直接上传到 Amazon S3(非闪存上传解决方案)

ruby-on-rails - 尝试运行 rake db 时出现错误 :migrate

javascript - 向 Rails 模型提交值

asp.net - 我可以更改 FormsAuthentication cookie 名称吗?

php - 尝试使用 PHP 的 CURL 获取 cookie

ruby-on-rails - 在 rails 3 中预先加载 Controller

ruby-on-rails - 当我在heroku上部署rails应用程序时,步骤 "verifying deploy.."不会停止。最后部署失败

javascript - 滚动到 Rails 4 应用程序中的顶部 jQuery

ruby-on-rails - Digest::SHA2.hexdigest() 在哪里定义?

.Net Core 2.1 与 IdentityServer4 Cookie 和基于 API JWT 的同一应用程序身份验证