我正在尝试实现一个可嵌入的小部件,其功能类似于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
是否有一些,可能是奇怪的命名设置仍然可以强制此标头?
答案 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;