¿Cómo puedo configurar 'X-Frame-Options' en un iframe?
Si creo uno iframe
como este:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
¿Cómo puedo solucionar el siguiente error con JavaScript?
Se negó a mostrarse
'https://www.google.com.ua/?gws_rd=ssl'
en un marco porque configuró 'X-Frame-Options' en 'SAMEORIGIN'.
No puedes configurar X-Frame-Options
el iframe
. Se trata de un encabezado de respuesta establecido por el dominio desde el que solicita el recurso ( google.com.ua
en su ejemplo). En este caso, han configurado el encabezado en SAMEORIGIN
, lo que significa que no han permitido la carga del recurso fuera iframe
de su dominio. Para obtener más información, consulte el encabezado de respuesta X-Frame-Options en MDN.
Una inspección rápida de los encabezados (que se muestran aquí en las herramientas para desarrolladores de Chrome) revela el X-Frame-Options
valor devuelto por el host.
X-Frame-Options
es un encabezado incluido en la respuesta a la solicitud para indicar si el dominio solicitado permitirá mostrarse dentro de un marco. No tiene nada que ver con javascript o HTML y el autor de la solicitud no puede cambiarlo.
Este sitio web ha configurado este encabezado para no permitir que se muestre en un formato iframe
. No se puede hacer nada en un navegador web del lado del cliente para detener este comportamiento.
Lecturas adicionales sobre X-Frame-Options
En caso de que usted tenga el control del servidor que envía el contenido del iframe, puede establecer la configuración X-Frame-Options
en su servidor web.
Configurando Apache
Para enviar el encabezado X-Frame-Options para todas las páginas, agregue esto a la configuración de su sitio:
Header always append X-Frame-Options SAMEORIGIN
Configurando nginx
Para configurar nginx para enviar el encabezado X-Frame-Options, agregue esto a su configuración http, servidor o ubicación:
add_header X-Frame-Options SAMEORIGIN;
Sin configuración
Esta opción de encabezado es opcional, por lo que si la opción no está configurada en absoluto, le dará la opción de configurarla en la siguiente instancia (por ejemplo, el navegador de visitantes o un proxy).
Fuente: Opciones de X-Frame
Dado que la solución no se mencionó realmente para el lado del servidor:
Hay que configurar cosas como esta (ejemplo de Apache ). Esta no es la mejor opción ya que lo permite todo, pero una vez que vea que su servidor funciona correctamente, puede cambiar la configuración fácilmente.
Header set Access-Control-Allow-Origin "*"
Header set X-Frame-Options "allow-from *"