Traté de hacer un iframe con una página de drupal pero recibí el siguiente mensaje:
Múltiple "Se negó a mostrar (dirección de página) en un marco porque configuró 'X-Frame-Options' a 'SAMEORIGIN'."
Luego, intenté cambiar el encabezado de respuesta en el controlador de página usando
$response->headers->set('X-Frame-Options', 'GOFORIT');
Y recibí el siguiente mensaje
Múltiples encabezados 'X-Frame-Options' con valores en conflicto ('GOFORIT, SAMEORIGIN') encontrados al cargar '(dirección de página)'. Volviendo a 'DENY'.
Drupal core pone el siguiente código en todas las respuestas.
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', FALSE);
Entonces, ¿cómo puedo anular el encabezado X-Frame-Options solo para esta respuesta para incrustar esta página en otros sitios?
Estoy usando Drupal 8.0.0.
4k4 dan una gran solución, pero también puede ser
Mejor entonces
fuente
allow-from uri
está en desuso y ya no funcionará en los navegadores modernos. Las únicas 2 opciones que tiene este encabezado en este momento sonsameorigin
odeny
. X-Frame-Options MDNEs muy simple anular los encabezados
.htaccess
con una sola declaraciónAlternativamente , puede hacer que solo se aplique en ciertas condiciones usando expresiones de apache de instrucciones
y luego puede llamar a su URL agregando
embed
en su cadena de consultaPara que esto funcione, necesitará apache 2.4 o superior y el módulo de encabezados habilitado. Si no está habilitado, quizás pueda habilitarlos con
fuente
Ahora hay un módulo descargable para Drupal 8: Configuración de opciones de X-Frame
fuente
Para los navegadores más nuevos, la
ALLOW-FROM uri
configuración ya no funcionaría, consulte la sección "allow-from uri (obsoleto)" en https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame- OpcionesNecesitas agregar
$response->headers->set('Content-Security-Policy', 'frame-ancestors https://ALLOWED.SITE/');
Además de lo que propuso wakh.ru:$response->headers->set('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/');
fuente