Я добавил заголовок 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 для определенных страниц?
Вы можете обернуть эти директивы внутри <Location>
или же <LocationMatch>
Как и большинство директив, ограничить URL, к которым они применяются.
Также, если вы собираетесь перезаписать заголовок, используйте «Набор заголовков» вместо «Добавление заголовка».
После некоторых тщательных размышлений я переместил вложение заголовка в код приложения. В моем случае я использую codeigniter, поэтому я подключил заголовок x-frame-option в хуке.
Решение Covener также возможно, но, похоже, вам придется иметь доступ либо к файлу конфигурации apache, либо к файлу виртуального хоста, так как <location>
а также <locationMatch>
не может использоваться в файле .htaccess.