我有一个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
,但效果不佳。有人可以帮忙吗?
提前致谢
答案 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。