保护您的 Cookie:HttpOnly页面解释了为什么制作 HttpOnly cookie 是一个好主意。
如何在 Ruby on Rails 中设置此属性?
保护您的 Cookie:HttpOnly页面解释了为什么制作 HttpOnly cookie 是一个好主意。
如何在 Ruby on Rails 中设置此属性?
在用于设置 cookie 的哈希中设置“http_only”选项
例如
cookies["user_name"] = { :value => "david", :httponly => true }
或者,在 Rails 2 中:
例如
cookies["user_name"] = { :value => "david", :http_only => true }
Re Laurie 的回答:
请注意,该选项在某些时候被重命名:http_only
为:httponly
(无下划线)。
在 actionpack 3.0.0 中,即 Ruby on Rails 3 中,所有对的引用:http_only
都消失了。
这让我有一段时间。
只需将 :http_only 设置为 true,如更改日志中所述。
如果您有一个名为 config/session_store.rb 的文件包括这一行(Rails 3+),那么它已经自动设置了。
config/initializers/session_store.rb
:
# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cookie_store, key: "_my_application_session"
rails 还允许您设置以下键:
:expires -此 cookie 过期的时间,作为 Time 对象。
:secure -此 cookie 是否仅传输到 HTTPS 服务器。默认为假。
我还写了一个包含在 Rails 2.2 中的补丁,它默认 CookieStore 会话为 http_only。
不幸的是,默认情况下会话 cookie 仍然是常规 cookie。