是否有任何理由不对所有cookie使用HttpOnly?

时间:2013-12-28 15:27:23

标签: php session cookies session-cookies

为所有Cookie启用HttpOnly是否有任何缺点?

如果没有,为什么不在PHP.ini默认HttpOnly?

2 个答案:

答案 0 :(得分:1)

我怀疑是因为not all browsers support HttpOnly。支持当然changes over time,我无法想象这个理由永远存在。

<强>更新
我检查了session.c的提交历史记录,并注意到第一次也是唯一一次设置默认值的调用是在2005年的原始提交中完成的。那时候,很多(大多数?)浏览器都不支持HttpOnly

此外,the docs on httponly say

  

此设置可以有效地帮助通过XSS减少身份盗用   攻击(虽然并非所有浏览器都支持)。

强调我的。基于此,在我看来,默认情况下它没有打开的原因与浏览器支持有关,没有人打开票证使其默认打开。

@Quentin是对的,但是由于重点放在ZCE的安全性上,我预计“默认关闭”政策会更好,尽管这会打破BC。功能请求中有争议的事情。

答案 1 :(得分:1)

它阻止您使用JavaScript访问Cookie,这是您可能想要做的事情。

此外,默认情况下将其打开会破坏与选项存在之前编写的网站的向后兼容性。