¿Cómo puedo configurar 'X-Frame-Options' en un iframe?

Resuelto Darien Fawkes asked hace 10 años • 15 respuestas

Si creo uno iframecomo 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'.

Darien Fawkes avatar Dec 08 '14 20:12 Darien Fawkes
Aceptado

No puedes configurar X-Frame-Optionsel iframe. Se trata de un encabezado de respuesta establecido por el dominio desde el que solicita el recurso ( google.com.uaen su ejemplo). En este caso, han configurado el encabezado en SAMEORIGIN, lo que significa que no han permitido la carga del recurso fuera iframede 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-Optionsvalor devuelto por el host.

ingrese la descripción de la imagen aquí

Drew Gaynor avatar Dec 08 '2014 13:12 Drew Gaynor

X-Frame-Optionses 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

Rory McCrossan avatar Dec 08 '2014 13:12 Rory McCrossan

En caso de que usted tenga el control del servidor que envía el contenido del iframe, puede establecer la configuración X-Frame-Optionsen 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

rubo77 avatar Mar 04 '2016 07:03 rubo77

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 *"
Mike Q avatar Nov 28 '2018 19:11 Mike Q