El encabezado de respuesta HTTP X-Frame-Options
puede ser usado para indicar si debería permitírsele a un navegador renderizar una página en un <frame>
, <iframe>
o <object>
. Las páginas webs pueden usarlo para evitar ataques de clickjacking , asegurándose que su contenido no es embebido en otros sitios.
La seguridad añadida sólo es proporcionada si el usuario que está accediendo al documento está utilizando un navegador que soporte X-Frame-Options
.
Tipo de encabezado | Response header |
---|---|
Nombre de encabezado prohibido | no |
Sintaxis
Existen tres posibles directivas para X-Frame-Options
:
X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN X-Frame-Options: ALLOW-FROM https://example.com/
Directivas
Si especifica DENY, fallarán no sólo los intentos de cargar la página en un marco desde otros sitios, sino que fallarán cuando sea cargada desde el mismo sitio. Por otro lado, si especifica SAMEORIGIN, puede usar la página en un marco mientras el sitio que la incluya sea el mismo que la sirve.
DENY
- La página no puede ser mostrada en un marco, independiente del sitio que esté intentándolo.
SAMEORIGIN
- La página sólo puede ser mostrada en un marco del mismo origen que dicha página.
ALLOW-FROM uri
- La página sólo puede ser mostrada en un marco del origen especificado.Tenga en cuenta que en Firefox esto todavía sufre del mismo problema que SAMEORIGIN — no verifica los antecesores del marco para ver si están en el mismo origen.
Ejemplos
Nota: ¡Configurar el tag meta es inútil! Por ejemplo, <meta http-equiv="X-Frame-Options" content="deny">
no tiene efecto. ¡No lo use! Sólo funcionará configurando el encabezado HTTP X-Frame-Options
como en los ejemplos anteriores.
Configurando Apache
Agregue lo siguiente a la configuración de su sitio para que Apache envíe el encabezado X-Frame-Options
para todas las páginas:
Header always append X-Frame-Options SAMEORIGIN
Para que Apache envíe X-Frame-Options
deny , agregue lo siguiente a la configuración de su sitio:
Header set X-Frame-Options DENY
Para que Apache envíe el encabezado X-Frame-Options
para permitir (ALLOW-FROM
) un host en específico, agregue esto a la configuración de su sitio:
Header set X-Frame-Options "ALLOW-FROM https://example.com/"
Configurando nginx
Para configurar nginx a que envíe el encabezado X-Frame-Options
, agregue esto a la configuración, ya sea http, server o location:
add_header X-Frame-Options SAMEORIGIN;
Configurando IIS
Para hacer que IIS envíe el encabezado X-Frame-Options
, agrege esto al archivo Web.config
de su sitio:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
Configurando HAProxy
Para hacer que HAProxy envíe el encabezado X-Frame-Options
, agrege lo siguiente a su configuración front-end, listen, o backend:
rspadd X-Frame-Options:\ SAMEORIGIN
Especificaciones
Especificación | Título |
---|---|
RFC 7034 | HTTP Header Field X-Frame-Options |
Compatibilidad con navegadores
BCD tables only load in the browser
La tabla de compatibilidad en esta página es generada a partir de data estructurada. Si desea contribuir a la data, favor ingrese a https://github.com/mdn/browser-compat-data y envíenos un pull request.
Corrección de traducción por Ervin A. Santos R.
el 21-Oct-2018