English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> http only及设置

 

http only及设置

威盾防火墙 2014-11-06

 

1.什么是HttpOnly?

 

如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击


2.javaEE的API是否支持?

 

目前sun公司还没有公布相关的API,但PHP、C#均有实现。搞javaEE的兄弟们比较郁闷了,别急下文有变通实现

 

3.HttpOnly的设置样例

 

javaEE

Javaee代码 复制代码
  1. response.setHeader("Set-Cookie", "cookiename=value;   
  2. Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");  
 

具体参数的含义再次不做阐述,设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取

 

Java代码 复制代码
  1. Cookie cookies[]=request.getCookies();  
  1. Cookie cookies[]=request.getCookies();  
 

C#

C#代码 复制代码
  1. HttpCookie myCookie = new HttpCookie("myCookie");   
  2. myCookie.HttpOnly = true;   
  3. Response.AppendCookie(myCookie);  
  1. HttpCookie myCookie = new HttpCookie("myCookie");  
  2. myCookie.HttpOnly = true;  
  3. Response.AppendCookie(myCookie);  

VB.NET

Vb.net代码 复制代码
  1. Dim myCookie As HttpCookie = new HttpCookie("myCookie")   
  2. myCookie.HttpOnly = True   
  3. Response.AppendCookie(myCookie)  
[VB.NET] view plaincopy
  1. Dim myCookie As HttpCookie = new HttpCookie("myCookie")  
  2. myCookie.HttpOnly = True  
  3. Response.AppendCookie(myCookie)  

   但是在 .NET 1.1 ,中您需要手动添加

Response.Cookies[cookie].Path += ";HTTPOnly"; 

PHP4

Java代码 复制代码
  1. header("Set-Cookie: hidden=value; httpOnly");  
  1. header("Set-Cookie: hidden=value; httpOnly");  

PHP5

Java代码 复制代码
  1. setcookie("abc""test", NULL, NULL, NULL, NULL, TRUE);   
  1. setcookie("abc""test", NULL, NULL, NULL, NULL, TRUE);  

相关内容: 最新内容:
盗链防护[2014-11-06]
Web恶意扫描防护[2014-11-06]
缓冲区溢出攻击防护[2014-11-06]
目录遍历攻击防护[2014-11-06]
文件源码攻击防护[2014-11-06]
敏感信息防护[2014-11-06]