Imagen de Ayuda dinahosting

Permitir frames con X-Frame-Options

Programación

Categorías


Estás en
Inicio > Hosting > Programación > Permitir frames con X-Frame-Options

Permitir frames con X-Frame-Options

En esta entrada te explicamos como puedes permitir frames en tu web con la cabecera X-Frame-Options.

En algunas ocasiones es posible que precisemos mostrar una web que incluye uno o varios frames con contenido de otros dominios.

Debido a medidas de seguridad de los diferentes navegadores, es posible que estos frames se bloqueen y no se muestre su contenido, según el navegador que empleemos podemos ver los errores de la siguiente manera:

FirefoxChrome
Permitir frames X-Frame-OptionsPermitir frames X-Frame-Options
Error de consola:

Load denied by X-Frame-Options: “sameorigin” from “https://ejemplo.com/”, site does not permit cross-origin framing from “https://ejemplo.com/web.html”

Error de consola:

Refused to display ‘https://ejemplo.com/’ in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’.

Esto se debe a que por defecto la cabecera X-Frame-Options tiene el valor “sameorigin”, esto viene a decir que tu web solo permitirá los frames que vengan del propio dominio y bloqueará los frames de dominios externos. Esta cabecera permite dos tipos de valores diferentes:

  • sameorigin: Como indicábamos anteriormente, cuando la cabecera X-Frame-Options se establece como sameorigin (mismo origen), solo se permiten los frames del propio dominio.
  • deny: Si la cabecera de X-Frame-Options se configura como deny (denegar), no se permitirá en tu web ningún tipo de frame.

Para poder compartir contenido entre varios sitios que controlamos debemos añadir la siguiente línea a nuestro fichero .htaccess:

Header always unset X-Frame-Options

De esta forma eliminamos esta cabecera y podremos permitir frames con la cabecera X-Frame-Options

Podemos encontrar información más detallada sobre los frames en la documentación oficial de firefox https://developer.mozilla.org/es/docs/Web/HTTP/Headers/X-Frame-Options

Publicado en

Skip to content