我已经贴出网页这解释了我如何设置我的 Visual Studio 设置。这包括 .vsix 扩展名的下载(“扩展安装程序”、“缩进指南”下的“下载”)或 .config 文件(进一步为“CodeMaid.config”)。
Internet Explorer 和 Edge 是仅有的两款故意将下载文件的扩展名更改为下载后无法使用的扩展名的浏览器。Firefox 只是按照 Web 服务器的指示操作,并以指定的名称保存下载的文件。
我可以通过为其提供 MIME 类型“application/vsix”来处理 .vsix 的情况。否则 IE 会将此类文件解释为 .zip(从技术上讲它们就是 .zip)。无论如何都不能重命名它们,因为 .zip 的打开方式与 .vsix 文件的打开方式完全不同。
但是 .config 文件没有特殊的 MIME 类型。它实际上只是一个 XML 文件,IE 会将其重命名为 .xml。不幸的是,它旨在用于需要 .config 文件的程序。
为什么 Internet Explorer 会破坏各种功能?如何才能阻止它做这些无用的事情?我发现了有关 IE 8 的 HTTP 标头“X-Content-Type-Options: nosniff”的一些信息,但今天它没有任何变化,所以我想它是错误的或也是有问题的。或者也许我现在只需要再添加三个标头?
答案1
使用以下 HTTP 标头:
- X-Download-Options:noopen
- 内容处置:附件;文件名=untrustedfile.html
MIME 处理:强制保存
最后,对于需要提供不受信任的 HTML 文件的 Web 应用程序,我们引入了一种机制来帮助防止不受信任的内容危及您网站的安全。当新的 X-Download-Options 标头的值为 noopen 时,用户无法直接打开文件下载;相反,他们必须先将文件保存在本地。当稍后打开本地保存的文件时,它不再在您网站的安全上下文中执行,这有助于防止脚本注入。
参考