新聞中心
X-Content-Type-Options 是什么?
X-Content-Type-Options 是一種 HTTP 響應頭,用于控制瀏覽器是否應該嘗試 MIME 類型嗅探。如果啟用了 X-Content-Type-Options,瀏覽器將遵循服務器提供的 MIME 類型,用于防止瀏覽器執(zhí)行 MIME 類型錯誤的響應體(response body)。

10年積累的成都網站制作、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先制作網站后付款的網站建設流程,更有安定免費網站建設讓你可以放心的選擇與我們合作。
如果在http響應頭中指定的 Content-Type 與實際響應體返回的 MIME 類型不一致,這種情況下瀏覽器可能會忽略響應頭中指定的Content-Type,執(zhí)行實際響應體的 MIME 類型,造成安全風險,而設置 X-Content-Type-Options 就是為了避免這種類型的安全風險。
如何設置 X-Content-Type-Options ?
在服務器端(前后端分離的場景下,只需要在前端站點所在服務器配置即可,如果前后端在一起的話在項目所在服務器配置)的代碼或反向代理服務配置中添加 X-Content-Type-Options 頭即可。
以 nginx為例,在 nginx.conf 文件中添加以下行:
add_header X-Content-Type-Options nosniff;以 apache為例,在 .htaccess 文件中添加以下行:
Header set X-Content-Type-Options "nosniff"響應頭 key 是 X-Content-Type-Options,值為 nosniff。這個配置是告訴瀏覽器禁止執(zhí)行與 Content-Type 指定的類型不一致的響應內容,不要嘗試從文件擴展名或文件內容中推斷出文件類型,從而避免了內容嗅探所帶來的安全風險。
X-Content-Type-Options 應用場景
主要用于防范 XSS(跨站腳本攻擊)和 snippet-injection 攻擊。snippet-injection 攻擊是指把 HTML 代碼嵌入到非 HTML 內容,瀏覽器會讀取并解析該內容。這可能導致XSS攻擊或著被誤導到包含惡意代碼的站點。
看個例子
下面是一段使用了 X-Content-Type-Options 響應頭的代碼:
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
X-Content-Type-Options: nosniff
路多辛的博客
通過在響應頭中添加 X-Content-Type-Options: nosniff,告訴瀏覽器只能執(zhí)行 MIME 為 text/html 的響應內容,將阻止瀏覽器執(zhí)行 JavaScript 代碼。
網頁標題:Web安全之充分利用X-Content-Type-Options
分享路徑:http://www.5511xx.com/article/ccojcoe.html


咨詢
建站咨詢
