apache - habilitar - x-frame-options php
Opciones de X-Frame en Apache (4)
- Puede agregar a la sección
.htaccess
,httpd.conf
oVirtualHost
-
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:
- Creé una página con todo mi javascript
- Creó una segunda página en el mismo servidor e incrustó la primera página con la etiqueta de objeto.
- En mi sitio de terceros, utilicé la etiqueta Objeto para incrustar la segunda página.
- Creó un archivo .htaccess en el servidor original en la carpeta public_html y puso el encabezado sin configurar X-Frame-Options en él.
Ver el encabezado de X-Frame-Options en respuesta de error
Simplemente puede agregar la siguiente línea a .htaccess
Header always unset X-Frame-Options