Cookie中的HttpOnly详解

本文介绍了HttpOnly Cookie的概念及其在不同编程语言中的实现方法,包括JavaEE、C#、VB.NET和PHP等,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt377

 

1.什么是HttpOnly?

 

如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,具体一点的介绍请google进行搜索

2.javaEE的API是否支持?

 

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

 

3.HttpOnly的设置样例

 

javaEE

 

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

 

 

 

 

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

 

1
Cookie cookies[]=request.getCookies();

C#

 

1
2
3
HttpCookie myCookie = new HttpCookie( "myCookie" );  
myCookie.HttpOnly = true ;  
Response.AppendCookie(myCookie);

 

VB.NET

 

1
2
3
Dim myCookie As HttpCookie = new HttpCookie( "myCookie" )  
myCookie.HttpOnly = True  
Response.AppendCookie(myCookie)

 

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

 

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

 

PHP4

 

1
header( "Set-Cookie: hidden=value; httpOnly" );

 

 

PHP5

 

1
setcookie( "abc" , "test" , NULL, NULL, NULL, NULL, TRUE);

 

    最后一个参数为HttpOnly属性

转载于:https://www.cnblogs.com/grefr/p/6088111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值