我正在尝试使用基于apache HTTP Server 2.2.32的IBM HTTP Server(IHS)8.5.5.12设置X-Frame-Options。
我尝试使用SetEnvIf,但对如何比较httpd.conf文件中的环境变量一无所知。
我已经在IHS 9中使用If条件尝试了同样的方法,并且它可以正常工作,但是我不知道如何在IHS 8.5.5.12中实现相同条件
<IfModule mod_headers.c>
<If "%{HTTP:X-Requested-From} == 'mobileapp'">
Header unset X-Frame-Options
</If>
<Else>
Header set X-Frame-Options SAMEORIGIN
</Else>
</IfModule>
上面的代码在IHS 9中可以正常工作,请问有人可以帮忙吗?
致谢
穆罕默德·阿什法克(Mohammad Ashfaq)
答案 0 :(得分:2)
这里的窍门是Header
指令在Apache 2.2中可以是有条件的,但只能在环境变量上。但是SetEnvIf
首先运行,并且可以基于请求标头设置环境变量:
SetEnvIf X-Requested-From mobileapp is_mobile=1
Header set X-Frame-Options SAMEORIGIN
Header unset X-Frame-Options env=is_mobile
$ wget -qS http://localhost 2>&1 |grep X-F X-Frame-Options:
SAMEORIGIN
$ wget -qS --header="X-Requested-From: mobileapp"
http://localhost 2>&1 |grep X-F
$