資安議題 — Http Security Header
相關網站 安全性的header相關資訊都可在developer.mozilla.org找到。 網站header檢測:https://securityheaders.com/。 完整網站安全檢測:https://www.ssllabs.com/ssltest/ 前言 當使用者通過瀏覽器發送request到伺服器上,伺服器會回應response給瀏覽器,此時就會帶上一些header,其中有些header可以保證網站安全。 X-Content-Type-Options: nosniff 阻止瀏覽器探知檔案的 mime type ( disable Content sniffing ),一般情況下瀏覽器會去探知資源的 Content-Type ,以判別資源類型,例如: image/png、text/css,而有些資源的 Content-Type 有可能是錯誤或缺少的,此時就會進行 Content sniffing猜測解析內容,將 X-Content-Type-Options 設成 nosniff,可阻止這種行為。 沒有設成 nosniff 的風險為攻擊者可能使用錯誤的 header 隱藏攻擊的 script ,例如 <script src="https://example.com/attacker.txt" ></script>,attacker.txt 實際是 js 檔,表面的 header 是 text/plain ,實際上瀏覽器會解析 scrip t的content type ,並且執行 script。 X-Frame-Options: DENY 代表不讓網頁載入 frame ( iframe 跟 object )。 沒有設成 DENY 的風險為可能被惡意嵌入 iframe ,若自己的網站想使用 iframe ,可以設成 SAMEORIGIN (符合同源政策),或是 ALLOW-FROM,例如: ALLOW-FROM: https://www.google.com/ https://github.com,可以嵌入 google 網域跟 github 網域下的網頁。 ALLOW-FROM已棄用。可能根據瀏覽器的不同而失效。 X-XSS-Protection: 1; mode=block 當瀏覽器發現跨站腳本攻擊時,