有条件地设置X-Frame-Option

时间:2018-08-10 10:46:29

标签: apache ibmhttpserver

我正在尝试使用基于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)

1 个答案:

答案 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 
$