如何在Rails 2.1中的会话cookie上设置HttpOnly?
时间:2020-03-06 14:55:39 来源:igfitidea点击:
我注意到Rails 2.2(当前为edge)支持在会话cookie上设置HttpOnly。
有没有一种方法可以在Rails 2.1应用程序上进行设置而无需迁移到edge / 2.2?
解决方案
在cookie的options哈希中将http_only
选项设置为true:
cookies['visits'] = { :value => '20', :http_only => true }
正如我们所指出的,它不受支持,但是我们当然可以用猴子补丁Rails来做我们想做的事情。实际上,在这种情况下直接修补Rails v.monkey-patch之间的差异很小,因为升级到2.2后,两者都将被删除/还原。
在这两种情况下,我们都可以通过直接应用补丁(对任何2.1 /边缘差异进行模化),或者通过在环境加载后从自己的代码中重新打开这些类使更改生效,来将应用的差异作为自己2.1补丁的指南。 。
我编写了一个猴子补丁,以从Rails 2.2的补丁中添加对Rails 2.1的支持。
除了Rails 2.1之外,我还没有进行其他测试,因此行驶里程可能会有所不同!