Cookie教程-httponly属性

186 阅读1分钟
HTTP Cookies
## httponly属性的含义 该属性限定某Cookie是否只能由Http访问,如果只能由Http访问,那Javascript`document.cookie`无法获取也不能修改该Cookie。 不区分大小写。 该属性没有值,只需要写上该属性名即可,例如: `Set-Cookie: abc=xyz; httponly`

httponly的注意点

  • httponly没有值,千万不要像下面这么写: 错误的写法:Set-Cookie: abc=xyz; httponly=true
  • 既然是用来限制Javascript访问,那Javascript的document.cookie肯定就不能设置httponly属性了,如果尝试在document.cookie中加入httponly,那整个Cookie设置失效。 httponly属性只能是在Http的Response中通过Set-Cookie设置。

httponly的好处

  • 该属性在Web安全方面有较大的作用,由于禁止了Javascript访问Cookie,可以避免XSS攻击中对Cookie的偷取
  • 可以从一定程度上避免Cookie被污染,一般大型网站都会由多个业务部门或者小组共同开发,加上httponly可以避免Cookie被前端逻辑轻易的修改覆盖或者删除。当然了,如果要更进一步避免读取到被非法修改过的Cookie,最好还是给Cookie加签名。

httponly的浏览器兼容性较好

httponly这个属性由微软在IE6 SP1中首先提出,属于较早出现的属性,目前所有主流浏览器均支持。

此篇结束。