El HTTP Content-Security-Policy (CSP) frame-ancestors directiva especifica padres válidos que pueden incrustar una página usando <frame>, <iframe>, <object>, <embed>, o <applet>.

Establecer esta directiva para 'none' es parecido a X-Frame-Options: deny (que también es compatible con navegadores más antiguos).

Versión CSP 2
Tipo de directiva Directiva de navegación
default-src retroceder No. No configurar esto permite nada.
Esta directiva no se admite en el <meta> elemento.

Sintaxis

Se pueden configurar una o más fuentes para frame-ancestors política:

Content-Security-Policy: frame-ancestors <source>;
Content-Security-Policy: frame-ancestors <source> <source>;

Fuentes

puede ser uno de los siguientes:

El frame-ancestors La sintaxis de la directiva es similar a una lista fuente de otras directivas (p. ej. default-src), pero no permite 'unsafe-eval' o 'unsafe-inline' por ejemplo. Tampoco volverá a caer en un default-src configuración. Solo se permiten las fuentes que se enumeran a continuación:

Hosts de Internet por nombre o dirección IP, así como una opción Esquema de URL y / o número de puerto, separados por espacios. La dirección del sitio puede incluir un comodín inicial opcional (el carácter de asterisco, '*'), y puede usar un comodín (nuevamente, '*') como número de puerto, lo que indica que todos los puertos legales son válidos para la fuente. No se permiten comillas simples alrededor del host.
Ejemplos:

  • http://*.example.com: Coincide con todos los intentos de carga desde cualquier subdominio de example.com utilizando el http: Esquema de URL.
  • mail.example.com:443: Coincide con todos los intentos de acceder al puerto 443 en mail.example.com.
  • https://store.example.com: Coincide con todos los intentos de acceder a store.example.com utilizando https:.

Si no se especifica ningún esquema de URL para un host-source y el iframe se carga desde un https URL, la URL de la página que carga el iframe también debe ser https, según la especificación W3C en expresiones de origen coincidentes.

Un esquema como http: o https:. Se requieren dos puntos y no se debe citar el esquema. También puede especificar esquemas de datos (no recomendado).

  • data: Permite data: URI que se utilizarán como fuente de contenido. Esto es inseguro; un atacante también puede inyectar datos arbitrarios: URI. Use esto con moderación y definitivamente no para scripts.
  • mediastream: Permite mediastream: URI para ser utilizado como fuente de contenido.
  • blob: Permite blob: URI para ser utilizado como fuente de contenido.
  • filesystem: Permite filesystem: URI para ser utilizado como fuente de contenido.
'self'
Hace referencia al origen desde el que se envía el documento protegido, incluido el mismo esquema de URL y número de puerto. Debe incluir las comillas simples. Algunos navegadores excluyen específicamente blob y filesystem de las directivas de origen. Los sitios que necesiten permitir estos tipos de contenido pueden especificarlos mediante el atributo Datos.
'none'
Se refiere al conjunto vacío; es decir, ninguna URL coincide. Las comillas simples son obligatorias.

Ejemplos de

Content-Security-Policy: frame-ancestors 'none';

Content-Security-Policy: frame-ancestors 'self' https://www.example.org;

Especificaciones

Especificación Estado Comentario
Nivel de política de seguridad de contenido 3
La definición de ‘ancestros de marco’ en esa especificación.
Borrador de trabajo Sin cambios.
Nivel de política de seguridad de contenido 2
La definición de ‘ancestros de marco’ en esa especificación.
Recomendación Definición inicial.

Compatibilidad del navegadorActualizar datos de compatibilidad en GitHub

Escritorio
Cromo Borde Firefox explorador de Internet Ópera Safari
frame-ancestors 40 15 33

33
Antes de Firefox 58, frame-ancestors es ignorado en Content-Security-Policy-Report-Only.
No 26 10
Móvil
Vista web de Android Chrome para Android Firefox para Android Opera para Android Safari en iOS Internet de Samsung
frame-ancestors ? 33

33
Antes de Firefox para Android 58, frame-ancestors es ignorado en Content-Security-Policy-Report-Only.
? 9.3

Ver también

  • Content-Security-Policy
  • X-Frame-Options

© 2005–2020 Mozilla y colaboradores individuales.
Con licencia de Creative Commons Attribution-ShareAlike License v2.5 o posterior.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors