Условно установлен X-Frame-Option

Я пытаюсь установить X-Frame-Options с помощью IBM HTTP Server (IHS) 8.5.5.12, основанного на apache HTTP Server 2.2.32.

Я пробовал использовать 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. Может ли кто-нибудь здесь помочь?

С уважением Мохаммад Ашфак

Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
0
627
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Уловка здесь в том, что директива 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 
$

Другие вопросы по теме