我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

苏南大叔的cookie系列文章,到这里开始讲到cookie的安全问题。如果你的网站是https的话,那么强烈建议你启用cookiesecure属性。但是无论你的网站是不是https,但是都强烈建议你启用cookiehttponly

苏南大叔:如何理解cookie的httponly属性? httponly如何避免js读取到cookie? - cookie-httponly
如何理解cookie的httponly属性? httponly如何避免js读取到cookie?(图2-1)

具体的启用方法,每个服务器语言都不同,php启用httponly的方式,可以参见苏南大叔的相关文章。

httponly简述

httponly这个词非常的高大上,叱诧江湖很多年。只要是网络安全界,提起xsscookie,就必然提起对应的解决方案httponly。但是,httponly真的是啥效果,你知道嘛?这可就未必了。

撕去httponly的高大上的面纱,一句话进行描述的话,就是:httponlycookie,网页代码中的js无法获得相关信息。xss的必需语句,document.cookie是无法获得httponlycookie的。但是,服务器端是可以照常获得的。

实践一下代码

下面的php代码中,苏南大叔设置了2个cookie,一个是httponly的,另外一个不是。

<?php
header("Set-Cookie:only_no=这个没有设置only;",FALSE);
header("Set-Cookie:only=这个设置了only;httponly;",FALSE);
?>
<a href="javascript:alert(document.cookie)">document.cookie</a>

实验结果如下:

苏南大叔:如何理解cookie的httponly属性? httponly如何避免js读取到cookie? - httponly
如何理解cookie的httponly属性? httponly如何避免js读取到cookie?(图2-2)

我们可以看到,JavaScript使用document.cookie,只拿到了一个cookie值,就是没有使用only属性的这个。

总结

本篇内容不是讲xss的,只是讲述httponly的。在具体的实践中,xss是需要构造非常复杂的办法,然后最终执行document.cookie的。如果以后有机会,苏南大叔可以给大家讲讲xss实战。不过,这个有些黑客的范畴了。额,洗白一下先,是网络安全的范畴。

更多有关cookie的精彩内容,请大家关注如下链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   cookie    httponly