正如我們所知,具有安全屬性的cookie意味着它只是通過加密連接進行傳輸。所以我的問題是如果一個cookie可以是一個安全而不是安全的。如果是這樣, 爲什麼或爲了什麼?Cookie是否可以是安全而不是安全?什麼時候會是這樣?
回答
如前所述,一個cookie可以有一個Secure flag.
如果true
時,cookie僅通過瀏覽器HTTPS請求發送。
如果是false
,則Cookie由瀏覽器針對HTTP 和 HTTPS請求發送。
單純在HTTP上沒有傳輸設置。 HTTPOnly標誌只是停止它可以通過JavaScript和其他客戶端語言訪問,它不會影響其HTTP/HTTPS行爲。
因此,通過將Secure
設置爲false,cookie將根據當前協議進行加密和解密傳輸。
這不建議使用,因爲如果通過HTTP連接發送cookie或被攻擊者強制發送cookie值(例如,攻擊者只需鏈接到HTTP站點的站點上的圖像標記將導致該值被泄露 - <img src="http://www.example.com/img.jpg" />
)。
Secure和HttpOnly屬性沒有關聯的值。相反,屬性名稱的存在表示安全和HttpOnly行爲是指定的。
安全屬性旨在保持cookie通信限於加密傳輸,指導瀏覽器僅通過安全/加密連接使用cookie。如果Web服務器使用來自非安全連接的安全屬性設置cookie,則Cookie在通過中間人攻擊發送給用戶時仍可能被攔截。
HttpOnly屬性指示瀏覽器不要通過HTTP(和HTTPS)請求以外的渠道公開Cookie。 HttpOnly cookie不能通過非HTTP方法訪問,例如通過JavaScript調用(例如引用「document.cookie」),因此不能通過跨站點腳本(普遍攻擊技術)輕易竊取。其中,Facebook和Google廣泛使用HttpOnly屬性。
總之,這意味着'安全'屬性意味着它需要安全(ssl)傳輸,例如HTTPS。
這是爲了防止cookie盜用或cookie劫持。您可以看看這個wiki
您可能還想了解Cookie加密或簽名Cookie,這種方式可以讓您的Cookie免受惡意cookie修改的影響。基本上你可以在cookie的值後加一個散列值,並用它來驗證cookie的值沒有被修改。
謝謝。但是我想知道的是,一段時間內安全cookie也可能是一個非安全cookie?像這樣, Set-Cookie:uid = 123456;安全 和一些時間是這樣的, Set-Cookie:uid = 123456; – wuwl
- 1. POST是否像Cookie一樣安全?
- 2. 不知道是否可以安全地實現這樣的Asynctask
- 3. 這是否足夠安全?
- 4. 這個Rack :: Protection :: FormToken是什麼時候出現安全問題?
- 5. PHP會話是否安全?
- 6. WCF會話是否安全?
- 7. 是websockets安全還是不安全?
- 8. C++模板只是「語法安全」,而不是先安全的?
- 9. ConcurrentHashMap是否完全安全?
- 10. 安全是否安全銷燬和取消這樣的會話在php
- 11. 什麼是「安全變量」?
- 12. 什麼是運輸安全?
- 13. 什麼是春季安全
- 14. 什麼是類型安全?
- 15. 什麼是IP安全?
- 16. Context.MODE_PRIVATE是否安全?
- 17. const_cast是否安全?
- 18. BrowserID是否安全?
- 19. Locale.setDefault()是否安全?
- 20. Titanium.App.Properties是否安全
- 21. AfxBeginThread是否安全?
- 22. signed_request是否安全?
- 23. PhoneGap是否安全?
- 24. Redux是否安全?
- 25. session_set_cookie_params是否安全?
- 26. 什麼時候是(!someObject)(short for someObject!= nil)不安全?
- 27. Erlang是否通過cookie足夠安全?
- 28. HTTPS連接中的Cookie是否安全?
- 29. 是否可以安全使用java.io.BufferedOutputStream?
- 30. 是否可以安全使用socket.io?
你能解釋一下你的問題嗎? –
例如,名爲「uid」的cookie如果存在「uid」在某個時間是安全且在另一時間不安全的場景。 – wuwl