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');
我使用 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');