2011-06-01 38 views
34

對SO的評論並沒有明確地回答這個問題。這可能是暗示的,但我想明確地記錄在記錄上。SSL也可以加密cookie嗎?

如果SSL處於活動狀態,它將加密HTTP頭數據,如「set-cookie」?我知道「setSecure」僅在HTTPS處於活動狀態時才傳輸cookie,但如果SSL處於活動狀態,我想確認是否所有標頭數據在默認情況下均已加密,而無需使用「setSecure」。

回答

44

通過SSL(HTTPS)發送的數據已完全加密,包含標頭(因此爲cookie),只有您發送請求的主機未加密。這也意味着GET請求被加密(URL的其餘部分)。

儘管攻擊者可能會強制客戶端通過HTTP進行響應,因此強烈建議您在Cookie中使用「安全」標誌,該標誌強制使用HTTPS發送Cookie。

此外,使用標誌HTTPOnly將大大提高您網站的安全性,因爲它不允許使用Javascript代碼讀取Cookie(緩解潛在的XSS漏洞)。

+0

您對面向協議的攻擊提出了一些要點。最好保留「setSecure(true)」來保護會話信息免受協議切換。 +1 – giulio 2011-06-01 10:40:49

5

SSL加密整個HTTP會話,包括標頭。

這就是爲什麼他們將TLS重命名爲「傳輸層安全性」。 「傳輸層」位於網絡堆棧中的「應用層」(等等)之下。

所以是的。