Как использовать разные параметры x-frame для разных страниц

Я добавил заголовок X-FRAME-OPTION в свой .htaccess, чтобы избежать проблем с щелчком мыши.

<IfModule mod_headers.c>
Header append X-Frame-Options "SAMEORIGIN"</IfModule>

Теперь я должен разрешить доступ к определенному маршруту через iframe из внешних доменов. Я использую PHP и попытался перезаписать заголовок X-frame-option через:

  header('X-Frame-Options: GOFORIT');

Однако, похоже, что опция X-frame не перезаписывается, а вместо этого добавляется заново в соответствии со следующей ошибкой браузера (Chrome):

Multiple 'X-Frame-Options' headers with conflicting values ('GOFORIT, SAMEORIGIN') encountered when loading 'https://foo.com/baz/1'. Falling back to 'DENY'.

Как вы переписываете параметры x-frame для определенных страниц?

2

Решение

Вы можете обернуть эти директивы внутри <Location> или же <LocationMatch>Как и большинство директив, ограничить URL, к которым они применяются.

Также, если вы собираетесь перезаписать заголовок, используйте «Набор заголовков» вместо «Добавление заголовка».

0

Другие решения

После некоторых тщательных размышлений я переместил вложение заголовка в код приложения. В моем случае я использую codeigniter, поэтому я подключил заголовок x-frame-option в хуке.

Решение Covener также возможно, но, похоже, вам придется иметь доступ либо к файлу конфигурации apache, либо к файлу виртуального хоста, так как <location> а также <locationMatch> не может использоваться в файле .htaccess.

0

По вопросам рекламы [email protected]