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
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 elhttp:
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 utilizandohttps:
.
Si no se especifica ningún esquema de URL para un
host-source
y el iframe se carga desde unhttps
URL, la URL de la página que carga el iframe también debe serhttps
, según la especificación W3C en expresiones de origen coincidentes. -
- Un esquema como
http:
ohttps:
. Se requieren dos puntos y no se debe citar el esquema. También puede especificar esquemas de datos (no recomendado).-
data:
Permitedata:
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:
Permitemediastream:
URI para ser utilizado como fuente de contenido. -
blob:
Permiteblob:
URI para ser utilizado como fuente de contenido. -
filesystem:
Permitefilesystem:
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
yfilesystem
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
|
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 |
? | sí | 33
|
? | 9.3 | sí |
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