Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何设置会话cookie';是否将HttpOnly设置为false?_Ruby On Rails_Session_Cookies_Httponly - Fatal编程技术网

Ruby on rails 如何设置会话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 =

在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 => :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连接发送”。看见