sameorigin habilitar deny allow all apache cross-browser x-frame-options clickjacking

apache - habilitar - x-frame-options php



Opciones de X-Frame en Apache (4)

  1. Puede agregar a la sección .htaccess , httpd.conf o VirtualHost
  2. Header set X-Frame-Options SAMEORIGIN esta es la mejor opción

Allow from URI no es compatible con todos los navegadores. Referencia: X-Frame-Options en MDN

Estoy tratando de permitir que algún dominio particular acceda a mi sitio a través de iframe

Header set X-Frame-Options ALLOW-FROM https://www.that-site.com

Sé que esto se podría hacer agregando la línea anterior a la configuración del servidor Apache.

Dos preguntas aquí.

1) ¿A qué archivo de configuración se debe agregar? El apache se ejecuta tanto en Unix como en Windows, si no es el mismo archivo

2) mientras habilito el all-from, todavía quiero poder ejecutar algún iframe desde mi propio dominio. ¿Puedo agregar la siguiente línea después del permiso de?

Header set X-Frame-Options SAMEORIGIN

O simplemente debería agregar mi propio dominio en el todo-desde, es decir,

Header set X-Frame-Options ALLOW-FROM https://www.that-site.com, http://www.my-own-domain.com

Realmente necesito resolver esto. Gracias por adelantado


Descubrí que si la aplicación dentro del servidor httpd tiene una regla como "si el encabezado X-Frame-Options existe y tiene un valor, déjelo solo; de lo contrario, agregue el encabezado X-Frame-Options: SAMEORIGIN" y luego httpd.conf La regla de mod_headers como "El encabezado siempre desactivado X-Frame-Options" no sería suficiente. El valor SAMEORIGIN siempre alcanzaría al cliente.

Para remediar esto, agrego dos, no una, reglas de mod_headers (en el archivo httpd.conf más externo):

Header set X-Frame-Options ALLOW-FROM http://to.be.deleted.com early Header unset X-Frame-Options

La primera regla le dice a cualquier manejador de solicitudes interno que algún otro agente ha asumido la responsabilidad de la prevención de clickjack y puede omitir su intento de salvar el mundo. Se ejecuta con el procesamiento "temprano". La segunda regla elimina el encabezado de Opciones de X-Frame completamente no deseado. Se ejecuta con procesamiento "tardío".

También agrego los encabezados de Política de seguridad de contenido apropiados para que el mundo permanezca protegido y, a la vez, el Javascript de múltiples fuentes de los sitios de confianza aún se pueda ejecutar.


Esto me funcionó en todos los navegadores:

  1. Creé una página con todo mi javascript
  2. Creó una segunda página en el mismo servidor e incrustó la primera página con la etiqueta de objeto.
  3. En mi sitio de terceros, utilicé la etiqueta Objeto para incrustar la segunda página.
  4. Creó un archivo .htaccess en el servidor original en la carpeta public_html y puso el encabezado sin configurar X-Frame-Options en él.