Cookie中的secure,httponly的屬性和作用

(一)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(); 
————————————————
版權聲明:本文爲CSDN博主「YG青松」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38553333/article/details/80055521


(二)Secure Cookie

secure cookie can only be transmitted over an encrypted connection (i.e. HTTPS). They cannot be transmitted over unencrypted connections (i.e. HTTP). This makes the cookie less likely to be exposed to cookie theft via eavesdropping. A cookie is made secure by adding the Secure flag to the cookie.

也就是說,如果設置了cookie中包含secure屬性,那麼所有的請求都應該是HTTPS的,不能有HTTP的請求。

 

 

 

cookie知識學習:https://www.runoob.com/js/js-cookies.html

wikipedia:https://en.wikipedia.org/wiki/HTTP_cookie

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章