禁用非HTML资源的不需要的HTTP标头

时间:2017-10-28 07:11:16

标签: iis http-headers web-config mime-types content-security-policy

Sonar测试套件makes the interesting point认为发送HTTP标头应该被视为不良做法

  • 内容安全-政策
  • X-内容安全-政策
  • X框-选项
  • X-UA-兼容
  • X-WebKit的CSP
  • X-XSS-保护
发送非HTML资源时

我目前使用web.config配置我的IIS服务器,即

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Content-Security-Policy" value="default-src 'self' ; img-src 'self' data:; script-src 'self' cdnjs.cloudflare.com/ajax/libs/html5shiv/" />
                <add name="X-Frame-Options" value="DENY" />
                <add name="X-Content-Type-Options" value="nosniff" />
                <add name="X-Permitted-Cross-Domain-Policies" value="none" />
                <add name="X-UA-Compatible" value="IE=edge" />
                <add name="X-Xss-Protection" value="1; mode=block" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

但无论资源发送的类型如何,该配置都会发送这些标头。 如何让IIS有选择地将这些标头添加到正确类型的文件中?

1 个答案:

答案 0 :(得分:0)

您可以使用IIS UrlRewrite module(IIS扩展程序)并仅为html资源添加自定义标头。 检查旧的question