Tentei criar um iframe com uma página drupal, mas recebi a seguinte mensagem:
Múltiplo "Recusou-se a exibir (endereço da página) em um quadro porque definiu 'X-Frame-Options' como 'SAMEORIGIN'."
Em seguida, tentei alterar o cabeçalho da resposta no controlador de página usando
$response->headers->set('X-Frame-Options', 'GOFORIT');
E recebi a seguinte mensagem
Vários cabeçalhos 'X-Frame-Options' com valores conflitantes ('GOFORIT, SAMEORIGIN') encontrados ao carregar '(endereço da página)'. Voltando ao 'DENY'.
O núcleo do Drupal coloca o seguinte código em todas as respostas.
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', FALSE);
Então, como posso substituir o cabeçalho X-Frame-Options para que apenas essa resposta incorpore esta página em outros sites?
Estou usando o Drupal 8.0.0.
4k4 fornece uma ótima solução, mas também pode ser
melhor então
fonte
allow-from uri
está obsoleto e não funcionará mais em navegadores modernos. As únicas 2 opções que esse cabeçalho tem no momento sãosameorigin
oudeny
. Opções X-Frame MDNÉ muito simples substituir os cabeçalhos por
.htaccess
uma única declaraçãoComo alternativa, você pode aplicá-lo apenas em determinadas condições usando expressões apache da instrução if
e então você pode chamar seu URL adicionando
embed
na sua string de consultaPara que isso funcione, você precisará do apache 2.4 ou superior e do módulo headers habilitado. Se não estiver ativado, talvez você possa habilitá-los com
fonte
Agora existe um módulo para download do Drupal 8: Configuração de opções de quadro X
fonte
Para navegadores mais novos, as
ALLOW-FROM uri
configurações não funcionariam mais, consulte a seção "allow-from uri (obsolete)" na https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame- OpçõesVocê precisa adicionar
$response->headers->set('Content-Security-Policy', 'frame-ancestors https://ALLOWED.SITE/');
além do que o wakh.ru propôs:$response->headers->set('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/');
fonte