Tengo problemas para agregar el encabezado X-Frame-Options
a un archivo HTML simple.
¿Hay alguna forma de hacerlo usando JavaScript?
El encabezado X-Frame-Options se agrega en el lado del servidor, no en el cliente. Esto se debe a que el encabezado se utiliza para controlar cómo debe mostrar la página el navegador.
Cualquier servidor que aloje su archivo tendría que agregar este encabezado.
X-Frame-Options
es un encabezado HTTP. Como tal, no es parte de HTML y no se puede configurar dentro de un documento HTML.
Una de las razones por las que solo es un encabezado HTTP es que los clientes deberían poder decidir si se permite incrustar el documento en un marco antes analizando el código HTML.
Por lo tanto, no puede lograrlo editando el archivo, pero necesita modificar la respuesta HTTP del servidor. Normalmente, esto se hace en la configuración proporcionada por el software del servidor web o con un idioma del lado del servidor.
Por ejemplo, una configuración en Apache podría tener este aspecto:
Header always append X-Frame-Options DENY
O, en PHP, puedes establecer el encabezado así:
<?php header('X-Frame-Options: DENY'); ?>
Tenga en cuenta que existe un CSP más moderno frame-ancestors
. Pero aunque algunas políticas de CSP se pueden establecer como etiquetas <meta>
, eso no es posible aquí. Esto no funciona :
<head>
<meta http-equiv="Content-Security-Policy" content="frame-ancestors 'none'">
</head>
También eche un vistazo a la Hoja informativa de Defensa de Clickjacking para obtener una descripción general de las medidas de defensa de Clickjacking más allá de la configuración del XFO encabezado.
Lea otras preguntas en las etiquetas html http clickjacking