Web技術基礎
Set-Cookie: sid=8f3a2c9d; Path=/; Secure; HttpOnly; SameSite=Lax關於以上方標頭設定的Cookie,下列說明何者正確?
- A因為有Secure屬性,Cookie的值會在瀏覽器中加密保存,其他應用程式無法讀取
- B因為有HttpOnly屬性,網頁的JavaScript無法讀取這個Cookie
- C因為是SameSite=Lax,即使是從同一網站內的網頁送出的請求,也不會附上這個Cookie
查看答案與解析
正確答案:B. 因為有HttpOnly屬性,網頁的JavaScript無法讀取這個Cookie
附有Secure屬性的Cookie只在HTTPS通訊時傳送。加上HttpOnly屬性後,網頁的JavaScript就無法以document.cookie等方式讀取,可減少工作階段ID因XSS被竊取的損害。SameSite屬性決定是否把Cookie附加到從其他網站發起的請求;Lax時,從其他網站的連結移動頁面的GET會附上,但來自其他網站之表單的POST或影像的載入則不附上。沒有以Expires或Max-Age設定有效期限的Cookie,一般會成為關閉瀏覽器就消失的工作階段Cookie。
- A. Secure是讓Cookie只在HTTPS通訊時傳送的屬性,並不會加密保存的值。
- B. 正確。HttpOnly的Cookie無法被指令碼讀取,可減少因XSS遭竊的損害。
- C. SameSite是決定是否附加到從其他網站發起之請求的屬性,同一網站內的請求會附上。