SetCookie 未配置 HttpOnly、Secure

作者:vkvi 来源:ITPOW(原创) 日期:2016-11-7

某厂商给别人网站扫描的结果说是有漏洞,其中就有:SetCookie 未配置 HttpOnly、SetCookie 未配置 Secure。

这到底是什么意思呢?

SetCookie 是这个厂商认为写 Cookie 的方法,但实际上我们的语言中并不是 SetCookie,那重点 HttpOnly、Secure 是什么意思呢?

设置了 HttpOnly 表示这个 Cookie 只是给浏览器记录用的,JS 不能读取。

如上代码,前端用 JavaScript 代码 alert(document.cookie); 是没有值的,而如果我们去掉 cookie.HttpOnly = true; 则 alert(document.cookie); 有值。

其实我们并没必要听厂商的建议去将 HttpOnly 设置为 true,就好比坏人利用菜刀做坏事,我们并不能怪菜刀一样。如果没设置 HttpOnly 就是猛虎野兽,干嘛那么多制定标准的工程师不默认这个就是 true?

设置了 Secure,则指示 Cookie 只走 HTTPS 协议,不走 HTTP 协议。

如上代码,如果是放在 HTTP 协议中,则 Cookie 是不传送给浏览器的,必须要走 HTTPS 协议,可是我们一个普普通通、对公众公开企业新闻的网站,有必要上 HTTPS 么?HTTPS 是给邮箱、网银这些服务用的。

相关文章