X-Frame-Options 标头不是可识别的指令
Posted
技术标签:
【中文标题】X-Frame-Options 标头不是可识别的指令【英文标题】:X-Frame-Options header is not a recognized directive 【发布时间】:2018-05-23 00:07:01 【问题描述】:我现在使用 Nextcloud(在 nginx 上)有一段时间了,我想将它 iframe 用于另一个网站。但是标题不接受我的指令。
我将 /var/www/nextcloud/lib/private/legacy/response.php 中的标头选项更改为以下内容:
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.
有人知道为什么这不起作用吗?
【问题讨论】:
【参考方案1】:allow-from
已“过时”。您可以改用 Content-Security-Policy
标头:
header('Content-Security-Policy: frame-ancestors https://example.com');
【讨论】:
【参考方案2】:回到这篇文章。不幸的是,我发现了问题。 Chrome 不支持此选项,因此 Chrome 给了我 iframe 将我重定向到多次的错误。
但是该选项在 Firefox 上有效(更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)。
【讨论】:
以上是关于X-Frame-Options 标头不是可识别的指令的主要内容,如果未能解决你的问题,请参考以下文章
php 为可识别的单个文章添加pingback url自动发现标头。
“X-Frame-Options”标头无效。 “ ”不是公认的指令