Ruby on rails 如何设置会话cookie';是否将HttpOnly设置为false?
在RubyonRails中,如何将会话cookie的httpOnly设置设置为false?我解决了这个问题。在Ruby on rails 如何设置会话cookie';是否将HttpOnly设置为false?,ruby-on-rails,session,cookies,httponly,Ruby On Rails,Session,Cookies,Httponly,在RubyonRails中,如何将会话cookie的httpOnly设置设置为false?我解决了这个问题。在/config/environment.rb中包括以下代码: config.action\u controller.session={ :httponly=>false } 我就是这样使用Rails 3的: Testapp::Application.config.session_store :cookie_store, key: '_testapp_session', :domain =
/config/environment.rb
中包括以下代码:
config.action\u controller.session={
:httponly=>false
}
我就是这样使用Rails 3的:
Testapp::Application.config.session_store :cookie_store, key: '_testapp_session', :domain => :all, :httponly => false
在Rails 4中,您需要编辑
config/initializers/session\u store.rb
Rails.application.config.session\u存储(
:饼干店,
键:“‘社交’会话”,
httponly:false,
)
Rails在默认情况下将其设置为true。
我不建议更改它,因为它会将您的cookie设置为可从JS进行更改,例如:document.cookie
在Rails 3+中,您可以从config/initializers/session\u store.rb
更改cookie配置:
# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cookie_store, key: "_my_application_session", httponly: false
这是什么版本的rails?我正在尝试rails 3,并得到以下错误:ActionController::Base的未定义方法'session='Class@Peter这是在RoR 3之前为2.3版编写的。它还没有用3进行测试。我在这里做了一个变通方法:合理的问题,CodeDave。您传递带有值
false
的键:httponly
。(根据这里的其他答案-只是要编辑的代码的位置已从environment.rb
更改为初始值设定项)PSA:不要在生产中这样做。httponly
标志用于安全。听起来它的意思可能是“不是https”,但实际上它的意思是“不可用于JavaScript”httponly
与secure
标志兼容,该标志表示“仅通过https连接发送”。看见