在MDN HTTP Strict Transport Security (HSTS)中,它有一個 HSTS 設定示例,如下所示
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
我可以在RFC 6979max-age中找到和的相應均值,但它沒有 的含義。includeSubDomainspreload
我已經在最新的 Chrome 和 Firefox 中進行了測驗,似乎preload根本沒有做任何事情。無論有沒有預加載,在請求 http 請求時,如果使用 Chrome,都可以307 Internal Redirect通過 Chrome 瀏覽器進行測驗,而無需向服務器請求,這是 HSTS 所期望的。
那么這樣做的目的是preload什么?
另外,即使我添加了 HSTS 標頭,在用戶第一次使用 HTTP 訪問網站時,它仍然有機會受到攻擊。我們如何才能減輕這種風險?也就是說,我們如何告訴瀏覽器在向服務器發送任何請求之前將域添加到 HSTS 串列中?
附言
我找到了https://hstspreload.org/,如果我需要注冊域,需要我添加max-age和preload指令。這是必要的原因preload嗎?這應該是我應該添加我的域以確保新用戶免受 SSL 剝離攻擊的頁面?
uj5u.com熱心網友回復:
預載是一項重大承諾。它將有效地硬編碼到瀏覽器的代碼中。鑒于推出新版本至少需要幾個月的時間,它基本上是不可逆轉的。
此外,由于它在域級別上下降,因此犯了錯誤。例如預加載 domain.com 但覆寫 blog.domain.com 或 intranet.domain.com 尚未升級到 HTTPS。此時,您的選擇是 1) 將端升級到 HTTPS 并與零用戶一起使用該站點,直到或 2) 反轉預加載并等待幾個月以將其推廣到所有瀏覽器并在此之前處理零用戶。
HTTPS 現在更加普遍,因此風險降低了,但是當 HSTS 預加載第一次出現時,這些都是真正的風險。
因此,該preload屬性是網站所有者已準備好接受該承諾的信號。它還可以防止其他人提交未使用此標頭的站點(無論是惡意的還是出于良好但被誤導的意圖)。
您是正確的,因為它不會在瀏覽器中“做”任何事情。
還有人談論檢查是否仍在發送預加載標頭,以及是否未洗掉預加載但不確定是否已完成。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/440679.html
