外部内容不会加载到Safari的IFRAME中

时间:2018-12-20 作者:megseoh

我正在尝试将外部内容加载到iframe中,&;它在Chrome&;Firefox,但它不会加载到Safari中。在Safari中,我收到错误消息:

拒绝在框架中显示“my\\u content”,因为它将“X-frame-Options”设置为“sameorigin”

我认为问题可能是我的WordPress安装在一个子目录中:

WordPress地址(URL):https://example.com/wp

网址(URL):https://example.com

“我的外部内容”的标题包括以下内容:

 X-Frame-Options: sameorigin
 Content-Security-Policy: frame-ancestors \'self\' https://example.com
 X-Content-Security-Policy: frame-ancestors \'self\' https://example.com
本文列出了Safari和;SAMEORIGIN公司https://halfelf.org/2018/safari-and-sameorigin/. 我的中没有任何额外的X-Frame选项。htaccess文件,所以我想知道这个问题是否与我的WordPress安装位于子目录有关。是否有解决方法?还是其他原因造成的?

2 个回复
最合适的回答,由SO网友:megseoh 整理而成

有人对此有了更多的了解,为我修复了它。我将答案张贴在这里,以防它可以帮助其他人:

我们做了一些更改,并实现了一种允许使用内容安全策略指令(而不是X-Frame-Options)显示[externalcontent]的方法。X-Frame-Options过去曾被弃用,但最近未被弃用,因为任何CSP指令都将取代allX-Frame-Option指令,根据RFC 7034.

但请注意,Safari iFramessupport存在许多问题,因为它不完全符合规范(与它声称的相反)。

经过彻底调查,Safari支持版本10+的CSF(最新版本为12)。

但是,仅当X-Frame-Options未定义时,支持才可用我们现在使用内容安全策略指令来指示iframewitelisting,而不使用X-Frame-Option指令。

SO网友:MrWhite

X-Frame-Options: sameorigin
这本身(以及在旧浏览器中)肯定会拒绝访问。但是,在兼容的浏览器中,您可能希望Content-Security-Policy: 标题以覆盖此。

假设您可以控制此外部内容,是否尝试将此标题设置为:

 X-Frame-Options: allow-from https://example.com

 X-Frame-Options: sameorigin, allow-from https://example.com
(尽管Safari可能不支持allow-from 指令。)

或者,完全删除此标题?

我想知道这个问题是否与我的WordPress安装位于子目录有关。

我不明白在子目录中安装WordPress与此有什么关系?

相关推荐

Open content directory help!

我刚刚发现我有一个打开的wp内容目录,在那里你可以看到我在mysite上的所有文件-pdf、jpgs等。这些文件也是仅供会员使用的。。。。所有上传的图片等。我想知道:a)是否有任何方法可以判断是否有人去过那里,以及他们是否下载了我的任何文件?b) 如何关闭此目录?非常感谢。