ruby-on-rails - 在 rails 应用程序上安全地保持 https ://secure. yourname.com 和 http ://www. yourname.com 之间的 session

标签 ruby-on-rails session ssl https heroku

<分区>

当用户登录我的 Rails 站点时,它会发布到安全主机(例如“https://secure.yourname.com”)。 session 数据存储在数据库中,cookie 仅包含 session ID。问题是,当用户返回到非 https 页面时,例如主页(例如“http://www.yourname.com”),用户似乎已注销。我相信这样做的原因是为每个主机(www 与安全)存储了一个单独的 cookie。这是正确的吗?

保持站点的 http 和 https 部分之间的 session 的最佳安全方法是什么?有谁知道解决这个问题的插件吗?

网站在 Heroku 上运行。

最佳答案

听起来 cookie 是用 domain=secure.yourname.com 设置的。它需要是 domain=.yourname.com

在Firefox中,可以查看当前网站设置的cookies:工具->页面信息->安全->查看Cookies

我不知道如何在 Horoku 中进行此更改。我建议搜索“Heroku cookie 子域”。

关于ruby-on-rails - 在 rails 应用程序上安全地保持 https ://secure. yourname.com 和 http ://www. yourname.com 之间的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978874/

上一篇:ssl - jQuery AJAX 请求 (Rails 3) 被重定向并返回空消息体(仅使用 SSL)!

下一篇:带有 TLS/SSL 的 Tcl 7.x

相关文章:

session - Plone session 永远持续

php - 代理后面的 CodeIgniter session

php - 在 Android 上使用 SSL 的 Json

mysql - 如何保存数据库的一部分以便稍后加载

ruby-on-rails - 在一个 Action 中渲染不同的 View

Scala Play session 值不保存

ssl - Apache SSL3_ACCEPT :unsafe legacy renegotiation disabled

linux - Emb Linux 上的 IoT Hub 客户端在 send_event_async 时返回关闭的 SSL channel

ruby-on-rails - Rails 4 - Live,即使在刷新后连接也会继续

mysql - 如何在没有典型数据库设置的情况下连接到 Rails 中的数据库并检索结果