【问题标题】:Icons/images not loaded in IE after adding “X-Content-Type-Options: nosniff” in web.config file在 web.config 文件中添加“X-Content-Type-Options: nosniff”后图标/图像未在 IE 中加载
【发布时间】:2017-01-08 19:53:18
【问题描述】:

我正在使用 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”语句的问题。

提前致谢,

【问题讨论】:

  • 你如何在 webconfig 中添加它?
  • 但是,我发现扩展名和图像/图标类型在使用“X-Content-Type-Options: nosniff”语句时不匹配,导致图像/图标不显示在 IE 中。可以任何人都分享它为什么不匹配并提供解决方案以匹配具有精确扩展名的图像/图标。
  • 这听起来与我的问题相似:stackoverflow.com/questions/49327387/… 我在使用 ASP.NET Ajax 工具包滑块时遇到问题,当我有 X-Content- 时,滑块句柄图像呈现为损坏的图像web.config 中的 Type-Options="nosniff"。当我删除它时,滑块呈现正常。这对我来说仅在 IE11 中。我还想要 X-Content-Type-Options="nosniff"。您找到解决方案了吗?

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


【解决方案1】:

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

Response.ContentType = "image/gif";

【讨论】:

    【解决方案2】:

    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)

    【讨论】:

      【解决方案3】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2019-07-11
        • 2016-09-07
        • 1970-01-01
        • 2018-05-21
        • 1970-01-01
        • 2013-04-05
        相关资源
        最近更新 更多