如何在Edge浏览器中允许在iFrame中加载特定域

时间:2017-01-23 08:14:10

标签: asp.net iframe microsoft-edge content-security-policy

我有一个ASP.Net MVC application(名为 app1.com ),允许其他域名( app2.com )将其加载到iframe 我已使用 Content-Security-Policy 设置了frame-ancestors app2.com标头。

它在 Chrome Firefox 中运行良好。但它在Edge 中不起作用。它说:

  

Content-Security-Policy中的未知指令'frame-ancestors' -   指令将被忽略。

我尝试使用frame-src,但效果不佳。有人可以帮忙吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

首先,frame-ancestors指令为now supported in Edge

由于CSP的工作方式,未知指令将被忽略。如果不支持的浏览器看到frame-ancestors指令,这意味着无论框架页面是什么,都将对页面进行框架化-允许该页面对其进行框架化(但不能阻止其他页面进行同样的操作)。

即使在旧的浏览器中,如果您只希望一个网站框架页面,则可以使用X-Frame-Options标头,如下所示:

X-Frame-Options: ALLOW-FROM https://app2.com/

支持帧祖先的浏览器在同一个页面上一起使用时会忽略X-Frame-Options。