2012-12-05 64 views

回答

51

此只對加密的連接和該客戶端套在RFC 6265定義:

所述安全屬性限制cookie來「安全」信道的範圍(其中,「安全」是由用戶代理定義)。當cookie具有安全屬性時,僅當請求通過安全通道(通常是基於傳輸層安全性(TLS)的HTTP [RFC2818])傳輸時,用戶代理纔會將cookie包含在HTTP請求中。

儘管看起來對於保護來自活動網絡攻擊者的cookie非常有用,但Secure屬性僅保護cookie的機密性。主動網絡攻擊者可以覆蓋來自不安全通道的安全cookie,破壞其完整性(詳見8.6節)。

+4

如果客戶端還沒有cookie,並且它們應該從服務器端發送(例如登錄),服務器端是否可以決定是否包含cookie? – ted

+2

服務器最初通過「Set-Cookie headers」設置cookie – Ivan

22

就關於這個問題的另一個詞:

省略secure,因爲你的網站example.com完全HTTPS是不夠的。

如果您的用戶明確地到達http://example.com,他將被重定向到https://example.com,但已經太晚了,第一個請求包含cookie。

+3

我知道這是舊的,但HSTS預加載通過防止頻繁發生此問題來幫助解決這種情況。它仍然不是100%修復,但它只是另一件考慮,如果你真的想要避免安全的cookie。 –

+2

@ Mr.MonoChrome爲什麼你想避免安全的cookie? – MEMark

+0

@MonoChrome先生,雖然一些較老或較低規格的瀏覽器,我相信,甚至不支持HSTS – Anthony