【发布时间】:2008-10-01 22:20:46
【问题描述】:
我注意到 Rails 2.2(当前为 edge)支持 setting HttpOnly on the session cookie。
有没有办法在 Rails 2.1 应用程序上设置它而不移动到 edge/2.2?
【问题讨论】:
标签: ruby-on-rails security cookies httponly
我注意到 Rails 2.2(当前为 edge)支持 setting HttpOnly on the session cookie。
有没有办法在 Rails 2.1 应用程序上设置它而不移动到 edge/2.2?
【问题讨论】:
标签: ruby-on-rails security cookies httponly
正如您所指出的,它不受支持,但您当然可以monkey-patch Rails 做您想做的事。实际上,在这种情况下,直接修补 Rails 与猴子修补之间的区别非常小,因为升级到 2.2 时,两者都会被删除/恢复。
在这两种情况下,您都可以将应用的差异视为自己修补 2.1 的指南 - 通过直接应用补丁(以任何 2.1/edge 差异为模),或者在环境加载后从您自己的代码中重新打开这些类应用更改。
【讨论】:
我有 written a monkey patch 将这个支持添加到 Rails 2.1,来自 Rails 2.2 的补丁。
我没有在 Rails 2.1 以外的任何东西上测试过,你的里程可能会有所不同!
【讨论】:
在 cookie 的选项哈希中将 http_only 选项设置为 true:
cookies['visits'] = { :value => '20', :http_only => true }
【讨论】: