在 IIS 站点中添加绑定特定 CSP frame-ancestors HTTP header
Add binding specific CSP frame-ancestors HTTP header in IIS Site
在 IIS 中,我们有一个站点,里面有很多绑定,假设站点 1 有绑定 www.siteone.com, www.sitetwo.com。现在我必须为一个绑定添加 CSP -frame-ancestors 即仅为“www.siteone.com”添加 CSP header,而不是为“www.sitetwo.com”添加 CSP header。
如果我们在 web.config 中添加以下行,那么这些设置将应用于所有绑定。我们是否有任何条件方法可用于应用 CSP -frame-ancestors 仅适用于 www.siteone.com
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<clear />
<add name="Content-Security-Policy" value="frame-ancestors 'self' http://www.ancestorssite.com https://www.ancestorssite.com" />
</customHeaders>
</httpProtocol>
我尝试了下面的 IIS 重写规则,但它没有显示
<rule name="whitelist-site- iframe">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^.*\.?www.siteone\.com$" />
<add input="{HTTP_Content_Security_Policy}" pattern="frame-ancestors ^.*\.?www.ancestorssite\.com$" />
</conditions>
<action type="Rewrite" url="https://www.siteone.com" />
</rule>
您可以使用 IIS 出站规则实现此目的
1.Please启用URL重写模块
https://www.iis.net/downloads/microsoft/url-rewrite
2.Set 允许 REPONSE_Content-Security-Policy.
的变量
3.Plesae 应用此前提条件和出站规则。
<outboundRules>
<rule name="123" preCondition="Precondition1">
<match serverVariable="RESPONSE_Content-Security-Policy" pattern="(.*)" />
<action type="Rewrite" value="frame-ancestors 'self' http://www.ancestorssite.com https://www.ancestorssite.com" />
</rule>
<preConditions>
<preCondition name="Precondition1">
<add input="{HTTP_HOST}" pattern="www.siteone.com" />
</preCondition>
</preConditions>
</outboundRules>
在 IIS 中,我们有一个站点,里面有很多绑定,假设站点 1 有绑定 www.siteone.com, www.sitetwo.com。现在我必须为一个绑定添加 CSP -frame-ancestors 即仅为“www.siteone.com”添加 CSP header,而不是为“www.sitetwo.com”添加 CSP header。
如果我们在 web.config 中添加以下行,那么这些设置将应用于所有绑定。我们是否有任何条件方法可用于应用 CSP -frame-ancestors 仅适用于 www.siteone.com
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<clear />
<add name="Content-Security-Policy" value="frame-ancestors 'self' http://www.ancestorssite.com https://www.ancestorssite.com" />
</customHeaders>
</httpProtocol>
我尝试了下面的 IIS 重写规则,但它没有显示
<rule name="whitelist-site- iframe">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^.*\.?www.siteone\.com$" />
<add input="{HTTP_Content_Security_Policy}" pattern="frame-ancestors ^.*\.?www.ancestorssite\.com$" />
</conditions>
<action type="Rewrite" url="https://www.siteone.com" />
</rule>
您可以使用 IIS 出站规则实现此目的
1.Please启用URL重写模块 https://www.iis.net/downloads/microsoft/url-rewrite
2.Set 允许 REPONSE_Content-Security-Policy.
的变量3.Plesae 应用此前提条件和出站规则。
<outboundRules>
<rule name="123" preCondition="Precondition1">
<match serverVariable="RESPONSE_Content-Security-Policy" pattern="(.*)" />
<action type="Rewrite" value="frame-ancestors 'self' http://www.ancestorssite.com https://www.ancestorssite.com" />
</rule>
<preConditions>
<preCondition name="Precondition1">
<add input="{HTTP_HOST}" pattern="www.siteone.com" />
</preCondition>
</preConditions>
</outboundRules>