Я попытался создать iframe со страницей drupal, но получил следующее сообщение:
Несколько "Отказано в отображении (адрес страницы) во фрейме, потому что для параметра" X-Frame-Options "установлено значение" SAMEORIGIN "."
Затем я попытался изменить заголовок ответа в контроллере страницы, используя
$response->headers->set('X-Frame-Options', 'GOFORIT');
И я получил следующее сообщение
Несколько заголовков 'X-Frame-Options' с конфликтующими значениями ('GOFORIT, SAMEORIGIN'), обнаруженными при загрузке '(адрес страницы)'. Отступая к «DENY».
Ядро Drupal помещает следующий код во все ответы.
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', FALSE);
Итак, как я могу переопределить заголовок X-Frame-Options только для этого ответа, чтобы встроить эту страницу в другие сайты?
Я использую Drupal 8.0.0.
4k4 дают отличное решение, но также могут быть
лучше чем
источник
allow-from uri
это устарело и больше не будет работать в современных браузерах. В данный момент этот заголовок имеет только 2 варианта:sameorigin
илиdeny
. X-Frame-Options MDNОчень просто переопределить заголовки
.htaccess
с помощью одного оператораВ качестве альтернативы вы можете применить его только при определенных условиях, используя выражения apache if if
и тогда вы можете вызвать добавление URL
embed
в строку запросаДля этого вам понадобится Apache 2.4 или выше и модуль заголовков включен. Если вы не включены, возможно, вы можете включить их с помощью
источник
Теперь есть загружаемый модуль для Drupal 8: настройка X-Frame-Options
источник
Для более новых браузеров
ALLOW-FROM uri
-settings больше не будут работать, см. «Allow-from uri (устарел)» - раздел в https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame- ОпцииВам нужно добавить
$response->headers->set('Content-Security-Policy', 'frame-ancestors https://ALLOWED.SITE/');
кроме того, что предложил wakh.ru:$response->headers->set('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/');
источник