什么都不会取消设置X-Frame-Options(Apache,PHP 5.3)

时间:2015-10-16 13:53:06

标签: php apache x-frame-options

我正在尝试实现一个可嵌入的小部件,其功能类似于Twitter嵌入的推文。最简单的解决方案虽然可能不是最好的,但似乎是iframe或HTML5嵌入 - 但两者都被服务器上的X-Frame-Options标头阻止。

我在完全控制下的专用服务器上运行PHP 5.3和Apache 2.2。

我尝试过放在iframe PHP文件第一行的第一行:

header_remove("X-Frame-Options");

我尝试将以下内容添加到.htaccess:

Header unset X-Frame-Options

我已经检查了httpd.conf,vhost .conf文件,甚至是PHP.INI,并搜索了“x-frame” - 两者都没有任何明显的相关性。

没有mod_security或其他应该在我看到的服务器上注入此插件的插件。

然而,无论我做什么,curl都会验证以下HTTP标头:

X-Frame-Options: DENY

是否有一些,可能是奇怪的命名设置仍然可以强制此标头?

4 个答案:

答案 0 :(得分:5)

X-Frame-Options由ssl.conf强制进入。

注释并重新启动Apache允许.htaccess和PHP标头管理再次工作。

答案 1 :(得分:1)

我遇到了同样的问题,我在httpd.conf

中解决了这个问题

Header追加X-Frame-Options ALLOWALL,我也必须配置要加载的头模块,以便apache理解这个指令。 然后你必须重新启动httpd。

答案 2 :(得分:1)

请考虑以下实验:

Header always set X-Frame-Options "DENY"
Header unset X-Frame-Options
Header set set X-Frame-Options "TEST"

响应头:

X-Frame-Options "DENY"
X-Frame-Options "TEST"

第二个实验:

Header set X-Frame-Options "DENY"
Header unset X-Frame-Options
Header set set X-Frame-Options "TEST"

响应头:

X-Frame-Options "TEST"

结论:always选项阻止设置原始值,但是不阻止添加新值。

答案 3 :(得分:0)

以防万一,如果您想在.htaccess中进行修改,可以采用以下方式:

Header always unset X-Frame-Options env=HTTPS;