加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 设计 – 如何设置会话cookie?

发布时间:2020-12-16 23:15:19 所属栏目:百科 来源:网络整理
导读:我有一个场景,我不需要在HTTP上设置会话,而只是在HTTPS页面上设置它.目前的问题是我们在HTTPS和HTTP之间共享会话字符串. 即如果您访问我们的HTTP页面,则会为您分配一个会话字符串(不安全).当您访问我们的某个HTTPS页面时,它使用相同的会话字符串.它们在两者
我有一个场景,我不需要在HTTP上设置会话,而只是在HTTPS页面上设置它.目前的问题是我们在HTTPS和HTTP之间共享会话字符串.

即如果您访问我们的HTTP页面,则会为您分配一个会话字符串(不安全).当您访问我们的某个HTTPS页面时,它使用相同的会话字符串.它们在两者之间共享.我们不希望人们能够跨未加密的连接窥探会话字符串.

有人可以指点我一些阅读,或者我可以实现这样的事情吗?甚至在哪里看 – 我有点难过.找不到多少

解决方法

rails会话数据默认存储在cookie中,听起来你只想使用SSL?

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

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

设计生成cookie时,Devise应使用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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读