最近在用python的flask框架写东西,顺便把httponly的作用拿出来说下,主要是防止XSS漏洞***。
以下hello.py都是用flask写的
代码里加入两个cookie值,其中一个带有httponly标签,另一个不带httponly标签。
index.html里就是一句简单的XSS测试js代码
<html>
<h1>This page contains a cookie!</h1>
<script type="text/javascript">alert(document.cookie)</script>
</html>
启动flask的web server
python hello.py
访问http://192.168.118.142:5000/login
alert弹框只获取到了第一个cookie里的session id和值。可以用chrome插件看看http response header
第二条cookie因为有了httponly的标签,所以没有被获取到。
由此我们可以看到httponly对XSS***的作用,但是凡事不是绝对的,有些特定情况还是可以绕过,以后再分析一下。good luck!