没有什么会取消x帧选项(Apache, PHP 5.3)



我正在尝试实现一个可嵌入的小部件,功能类似于Twitter嵌入tweet。最简单的解决方案,虽然可能不是最好的,似乎是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

是否有一些,也许奇怪的命名设置的地方,仍然可以强制这个头?

X-Frame-Options是由ssl.conf强制设置的。

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

考虑以下实验:

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选项阻止原始值被取消设置,但是它不阻止添加新值

我有同样的问题,我在httpd.conf中解决了这个问题

Header append X-Frame-Options ALLOWALL

我也必须配置头模块被加载,为了apache理解这个指令。然后必须重新启动httpd。

如果你想在。htaccess中修改这个,可以这样做:

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

最新更新