我正在使用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”这句话的问题。
提前致谢,
答案 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服务器的脚本注入攻击。
答案 2 :(得分:0)
在保存位图之前添加以下行
Response.ContentType = "image/gif";