Cookie中的HttpOnly詳解


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屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM