目的是阻止其他网站在iframe中显示我们网站的内容。
由于网站的网址,我无法使用X-Frame-Options = SAMEORIGIN
。主网站为www.xyz.com,子网站为sec.xyz.com。
所以我诉诸内容安全政策(...代表其他域等)
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src 'self' localhost ...; script-src 'unsafe-inline' 'unsafe-eval' *; style-src 'unsafe-inline' *; img-src * data; font-src * data:; frame-ancestors 'self' localhost ...;" />
</customHeaders>
</httpProtocol>
FF和Chrome不会在ipage测试页中显示该网站。
现在IE 11显示了iframe内部的网站,因为不支持frame-ancestors。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
我尝试在全局文件中添加标题X-Content-Security-Policy
,但IE 11仍显示该站点。
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("X-Content-Security-Policy", "frame-ancestors 'self' localhost ...");
}
如何使IE 11遵守标头X-Content-Security-Policy
?
答案 0 :(得分:0)
IE不支持frame-ancestors
的{{1}}。使用X-Content-Security-Policy
和X-Frame-Options
定位IE。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options