Tho*_*mas 5

正如文档评论所述,实现了https://mimesniff.spec.whatwg.org/DetectContentType中描述的算法,该算法不检测 JavaScript。那么问题就变成了:为什么不呢?

\n

规范的介绍中给出了答案:

\n
\n

当“诚实”服务器允许潜在恶意用户上传自己的文件,然后使用低权限 MIME 类型提供这些文件的内容时,这些安全问题最为严重。例如,如果服务器认为客户端会将贡献的文件视为图像(因此将其视为良性),但用户代理认为内容是 HTML(因此有权执行其中包含的任何脚本),则攻击者可能能够窃取用户\xe2\x80\x99s 身份验证凭据并发起其他跨站点脚本攻击。(当然,恶意服务器可以在 Content-Type 标头字段中指定任意 MIME 类型。)

\n

本文档描述了一种内容嗅探算法,该算法仔细平衡用户代理的兼容性需求与现有 Web 内容所施加的安全约束。

\n
\n

如果不可信输入(甚至是!)将不可信输入标记为 JavaScript 可能会导致安全灾难。

\n