10

我正在使用http://www.jacklmoore.com/colorbox在灯箱中显示 url 的内容。实施后,彩盒没有显示任何内容。

后来,我注意到 chrome 日志中出现以下错误:

Refused to display document because display forbidden by X-Frame-Options.

所以在记录之后,我将以下行添加到网站的根 .htaccess 中:

Header always append X-Frame-Options SAMEORIGIN

允许 iframe 嵌入到我自己的域中。

但我仍然得到错误,我是 x-frame 的新手,我正在开发一个现有的应用程序,所以我认为 .htaccess 解决方案会很好,但它可以被一些代码覆盖吗?请注意,它不在服务器配置中。

4

5 回答 5

19

尝试发送另一个 X-Frame-Options 标头,添加

<?php header('X-Frame-Options: GOFORIT'); ?>

到您的页面顶部。它应该禁用 SAMEORIGIN 命令。

于 2012-08-30T07:58:54.573 回答
4

根据 moz 开发页面。这里是定义

SAMEORIGIN
页面只能显示在与页面本身同源的框架中。

这意味着只有当您包含您网站中的某些页面时才会显示。
假设

  1. 您在http://foo.com上有一个网站,并且您希望从http://foo.com/sec_page在 iframe 中显示一些内容,它将显示在 iframe 中
  2. 但如果您嵌入相同的 iframe ( http://foo.com/sec_page ) 以加载到http://bar.com则它不会显示任何内容。因为原产地会改变。

你可以在这里阅读完整的注释

于 2012-12-27T10:38:09.240 回答
2

您可以从收到的响应中删除标头:

header_remove("X-Frame-Options");

于 2013-09-27T16:51:19.457 回答
2

我已将其添加到httpd.conf

 Header unset X-Frame-Options

它有效。

于 2016-12-27T07:37:21.910 回答
0

将 XFrame 选项设置为 DENY 或 Sameorigin。否则,如果您的网站容易受到 XSS 攻击,它可能有助于制作网络钓鱼攻击或框架注入。

于 2014-02-04T12:43:34.483 回答