代码之家  ›  专栏  ›  技术社区  ›  Mohammad Ashfaq

有条件地设置X帧选项

  •  0
  • Mohammad Ashfaq  · 技术社区  · 8 年前

    我试图使用基于ApacheHTTP服务器2.2.32的IBMHTTP服务器(IHS)8.5.5.12设置X帧选项。

    我试过使用setenif,但不知道如何比较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中运行良好,有人能帮上忙吗?

    当做
    穆罕默德·阿什法克

    1 回复  |  直到 8 年前
        1
  •  2
  •   covener    8 年前

    这里的诀窍是 Header 指令在Apache2.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 
    $
    
    推荐文章