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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 设计 – 如何设置会话cookie?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个场景,我不需要在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)

猜你在找的Ruby相关文章