在web.config文件

时间:2016-09-01 04:52:40

标签: asp.net image security internet-explorer web-config

我正在使用ASP.NET平台来创建网页。在页面内我使用了一些图像/图标。出于安全考虑,我在web.config文件中使用了“X-Content-Type-Options:nosniff”。当我在IE中部署网页时,某些图像/图标不会被渲染。但是,同样的页面在Firefox和Chrome中运行良好。

当我从web.config中删除语句“X-Content-Type-Options:nosniff”时,IE中的一切正常。但是,出于安全目的,我必须使用该声明。同时,需要在IE中呈现丢失的图像/图标。

那么,任何人都可以帮我解决“X-Content-Type-Options:nosniff”这句话的问题。

提前致谢,

3 个答案:

答案 0 :(得分:1)

nosniff仅适用于“脚本”和“样式”类型。将nosniff应用于图像也证明与现有网站不兼容。

因此,“X-Content-Type-Options nosniff”会绕过图像的问题,如果服务器提到的类型与真实文件扩展名不匹配,则会出现无法呈现图像的浏览器角色。

参考: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

并且: https://msdn.microsoft.com/en-us/library/gg622941(v=vs.85).aspx

答案 1 :(得分:0)

IE使用MIME信息来确定如何处理Web服务器发送的文件。例如,当Windows Internet Explorer收到.jpg文件时,用户会在Windows Internet Explorer窗口中看到该文件。 MIME处理限制功能通过确保使用IMAGE MIME传送的任何内容不被视为HTML或XML,有助于防止针对Web服务器的脚本注入攻击。

https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/dd565640(v=vs.85)

答案 2 :(得分:0)

在保存位图之前添加以下行

Response.ContentType = "image/gif";