X-Frame-Options SAMEORIGIN阻止我网域上的iframe

时间:2012-08-29 16:48:05

标签: php javascript jquery colorbox x-frame-options

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

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

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

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

Header always append X-Frame-Options SAMEORIGIN

允许iframe嵌入我自己的域名。

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

5 个答案:

答案 0 :(得分:15)

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

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

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

答案 1 :(得分:4)

根据moz dev页面。这是

的定义
  

<强> SAMEORIGIN
  页面只能显示在与原点相同的框架中   页面本身。

这意味着只有当您在网站上添加某些页面时才会显示 让我们假设

  1. 您在[{3}}上有一个网站,并且您希望在iframe中显示的http://foo.com中显示iframe中显示的内容
  2. 但如果您嵌入相同的iframe(http://foo.com/sec_page)以加载http://foo.com/sec_page,则它不会显示任何内容。因为原点会改变。
  3. 您可以阅读http://bar.com

答案 2 :(得分:2)

您可以从收到的回复中删除标题:

<强> header_remove( “X-帧-选项”);

答案 3 :(得分:1)

我已在httpd.conf中添加了此内容:

 Header unset X-Frame-Options

它有效。

答案 4 :(得分:0)

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