码迷,mamicode.com
首页 > Web开发 > 详细

Cookie中设置了"HttpOnly"属性,有效的防止XSS攻击

时间:2018-12-14 13:10:23      阅读:1229      评论:0      收藏:0      [点我收藏+]

标签:max   padding   sp1   -o   结构   code   ble   输入   pre   

1.什么是HttpOnly?

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。

XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

为了降低跨站点脚本攻击的风险,微软公司的Internet Explorer 6 SP1引入了一项新的特性HTTP-only。 这个特性是为Cookie提供了一个新属性,用以阻止客户端脚本访问Cookie。 

2.HttpOnly的设置样例

response.setHeader("Set-Cookie", "cookiename=httponlyTest;Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

 例如:

//设置cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly")
//设置多个cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
response.addHeader("Set-Cookie", "timeout=30; Path=/test; HttpOnly");
//设置https的cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; Secure; HttpOnly");

 3.处理办法

对 tomcat/conf/context.xml 修改

<Context useHttpOnly="true">

,以下为Apache官网描述
 refer :http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

useHttpOnly 

Should the HttpOnly flag be set on session cookies to prevent client side script from accessing the session ID? Defaults to false.

Cookie中设置了"HttpOnly"属性,有效的防止XSS攻击

标签:max   padding   sp1   -o   结构   code   ble   输入   pre   

原文地址:https://www.cnblogs.com/xiaoliu66007/p/10118074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!