如何在Rails 2.1的会话cookie上设置HttpOnly?

问题描述:

我注意到Rails 2.2(当前边缘)支持setting HttpOnly on the session cookie如何在Rails 2.1的会话cookie上设置HttpOnly?

有没有办法在Rails 2.1应用程序中设置它而不移动到edge/2.2?

我有written a monkey patch将此支持添加到Rails 2.1的Rails 2.2补丁。

我还没有测试任何其他的Rails 2.1以外,你的里程可能会有所不同!

设置http_only选项设置为true的cookie的选项哈希:

cookies['visits'] = { :value => '20', :http_only => true } 
+0

谢谢约翰 - 适用于手动设置的cookie,但不适用于会话cookie。 – tomtaylor 2008-09-30 15:23:25

+0

哦,对不起 - 我没有仔细阅读这个问题! – 2008-09-30 15:49:44

那么它不被支持,因为你注意,但你当然可以monkey-patch Rails的做你想要什么。实际上,在这种情况下,直接修补Rails v monkey-patching的区别很小,因为升级到2.2时,任何一个都会被删除/恢复。

在这两种情况下,您都会将自己的应用差异看作自己修补2.1的指导 - 要么通过直接应用修补程序(以任何2.1 /边缘差异为模),要么从您自己的代码中重新打开这些类,加载以应用更改。