Cookie中的httponly的屬性和作用


1.什么是HttpOnly?

如果cookie中設置了HttpOnly屬性,那么通過js腳本將無法讀取到cookie信息,這樣能有效的防止XSS攻擊,竊取cookie內容,這樣就增加了cookie的安全性,即便是這樣,也不要將重要信息存入cookie。XSS全稱Cross SiteScript,跨站腳本攻擊,是Web程序中常見的漏洞,XSS屬於被動式且用於客戶端的攻擊方式,所以容易被忽略其危害性。其原理是攻擊者向有XSS漏洞的網站中輸入(傳入)惡意的HTML代碼,當其它用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。如,盜取用戶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");

具體參數的含義再次不做闡述,設置完畢后通過js腳本是讀不到該cookie的,但使用如下方式可以讀取。

Cookie cookies[]=request.getCookies(); 

 

XSS攻擊是跨站腳本攻擊,攻擊用戶的客戶端,攻擊者往web網頁里面插入惡意的html代碼,當用戶瀏覽該html頁面時,html頁面里面的代碼就會被執行,使用js腳本獲取用戶的cookie信息,獲取到cookie信息上傳至攻擊者的服務器,攻擊者獲取cookie里面的信息,即被攻擊。比如:郵箱中收到的鏈接等。

測試方法:用戶不隨意點擊不明確的鏈接;cookie加密處理(MD5加密等等),避免存放關鍵信息;使用HttpOnly=true

 

 


免責聲明!

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



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