X-Frame-Options header 不是公认的指令

X-Frame-Options header is not a recognized directive

我使用 Nextcloud(在 Nginx 上)有一段时间了,我想为另一个网站使用 iframe。但是 header 不接受我的指令。

我将 /var/www/nextcloud/lib/private/legacy/response.php 中的 header 选项更改为以下内容:

header('X-Frame-Options: ALLOW-FROM https://example.com');

然而,当我使用 iframe 制作示例网页时,出现以下错误:

Invalid 'X-Frame-Options' header encountered when loading 'https://nextcloud.example.com/apps/files/': 'ALLOW-FROM https://example.com' is not a recognized directive. The header will be ignored.

有谁知道为什么这不起作用?

回到这个post。不幸的是我发现了问题。 Chrome 不支持此选项,因此 Chrome 给出了 iframe 多次将我重定向到的错误。

但是该选项在 Firefox 上有效(更多信息在这里:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)。

allow-from is 'obsolete'. You can use the Content-Security-Policy header 改为:

header('Content-Security-Policy: frame-ancestors https://example.com');