--- title: MIME 嗅探防护:X-Content-Type-Options 与正确的 Content-Type keywords: - X-Content-Type-Options - nosniff - Content-Type - MIME 嗅探 - CORB - 安全 description: 讲解 nosniff 的工作机制与适用范围,强调正确设置 Content-Type 的重要性,并补充在现代浏览器中的行为与相关安全建议。 categories: - 文章资讯 - 技术教程 --- # 概述 当服务器返回错误或缺失的 `Content-Type` 时,浏览器可能进行 MIME 嗅探并执行不安全内容。`X-Content-Type-Options: nosniff` 要求遵循声明的类型,阻止对脚本与样式的嗅探执行,降低 XSS 风险。 # 行为与范围 - 仅适用于 `script` 与 `style` 请求目标;不适用于图片等资源类型;现代浏览器还结合 CORB 保护 HTML/TXT/JSON/XML 等跨源读取[参考1,2]。 - 自 Firefox 72 起,顶级文档在提供了 `Content-Type` 时也避免嗅探,需确保类型与页面内容匹配,否则可能导致下载而非渲染[参考2]。 # 实践建议 - 始终设置正确的 `Content-Type`;配合 `X-Content-Type-Options: nosniff`。 - 为 JavaScript/CSS 等资源确保类型为标准 MIME(如 `text/javascript`、`text/css`)。 # 参考与验证 - [参考1]MDN 中文:`X-Content-Type-Options` 说明与适用范围:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options - [参考2]MDN 英文:`X-Content-Type-Options` 行为(顶级文档与 CORB):https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options - [参考3]MDN:MIME 类型与嗅探说明与安全建议:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types - [参考4]MDN 安全实践:MIME 类型验证与 nosniff 建议:https://mdn.org.cn/en-US/docs/Web/Security/Practical_implementation_guides/MIME_types - [参考5]技术文章:IE/浏览器 nosniff 行为与类型匹配示例:https://www.cnblogs.com/lizm166/p/12627190.html # 关键词校验 关键词覆盖 nosniff/Content-Type/MIME 嗅探,与正文一致。

发表评论 取消回复