gpt4 book ai didi

php - Safari:无法识别的内容安全策略指令 'frame-ancestors'

转载 作者:行者123 更新时间:2023-12-05 09:17:25 24 4
gpt4 key购买 nike

我有一个应用程序 siteA.com,它加载到 siteB.com 内的 iframe 中。直接加载 siteA.com 时没有警告,但在 siteB.com 的 iframe 内时得到 Unrecognized Content-Security-Policy directive 'frame-ancestors';这仅在 Safari 中。

所有这些更改都是在 siteA.com 中进行的

Meta Tag 运气不好

<meta http-equiv="Content-Security-Policy" content="frame-ancestors siteB.com">

我应该向 siteA.com 添加哪些 header 以允许 Content-Security-Policy 指令 frame-ancestors?

然后我尝试在主要的 index.php 中添加头部:

header("Content-Security-Policy: frame-ancestors 'self' siteB.com;");

但仍在站点 A 而不是站点 B 中工作。

也添加到 * .htaccess *

Header set Content-Security-Policy "frame-ancestors: siteB.com"

但什么也没有。由于问题在 Safari 中出现,因此也尝试了

header("X-Frame-Options: ALLOW-FROM siteB.com");

但这甚至会报错。

好的部分是,如果 frame-ancestors url 不正确,它根本不会在任何其他经过测试的浏览器中加载。

我做错了什么?

最佳答案

Unrecognized Content-Security-Policy directive 'frame-ancestors'

这是一个浏览器级别的错误,您无法修复它。您使用的是 Safari 9 或更早版本吗? Safari 仅支持从 Safari 10 开始的 frame-ancestors .该错误还仅仅意味着浏览器忽略了对它来说是无效的指令,它不知道该怎么做。如果该指令不存在,它不应该对您的网站产生超出正常情况的负面影响。并非所有控制台错误都需要处理。

当使用诸如内容安全策略之类的东西时,一些较旧的浏览器根本不会支持所有功能。由于渐进增强的概念,您仍然应该实现它们。

请注意,坦率地说,Safari 基本上是新的 IE,因为它落后于对标准的支持,尤其是旧版本。不要指望前沿支持,但不要因此而害怕实现新功能。与 IE 不同的是,safari 确实迎头 catch ,这些缺失的功能并没有像过去那样完全破坏网站。不仅仅是 Safari,Firefox 有时会比 Chrome 更早等。

关于php - Safari:无法识别的内容安全策略指令 'frame-ancestors',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com