Cabeceras HTTP
Significado de la cabecera HTTP Content-Security-Policy
Content-Security-Policy restringe desde dónde se pueden cargar los recursos de la página.
Significado
El servidor envía reglas aplicadas por el navegador para scripts, estilos, imágenes, frames y otros tipos de recursos.
Dónde aparece
Las aplicaciones web la envían para reducir los riesgos de inyección de scripts, clickjacking, contenido mixto y exfiltración de datos.
Qué comprobar
Comprueba los informes de recursos bloqueados, la estrategia de nonce o hash, las reglas de frames y si la política es demasiado amplia.
Ejemplo
Content-Security-Policy: default-src https:; img-src https: data:Valores y directivas comunes
default-srcdefault-src 'self'Lista de orígenes de reserva para las directivas de fetch que no se establecen de forma más específica.script-srcscript-src 'self' https://cdn.exampleControla desde dónde se puede cargar JavaScript y qué patrones de script en línea pueden ejecutarse.style-srcstyle-src 'self' 'unsafe-inline'Controla desde dónde se puede cargar CSS y cómo se gestionan los estilos en línea.img-srcimg-src https: data:Controla desde dónde se pueden cargar las imágenes.connect-srcconnect-src 'self' https://api.exampleControla las URL usadas por fetch, XHR, WebSocket, EventSource y API similares.font-srcfont-src https://fonts.exampleControla desde dónde se pueden cargar las fuentes.frame-srcframe-src 'self'Controla qué URL puede cargar esta página en frames.frame-ancestorsframe-ancestors 'none'Controla qué páginas superiores pueden incrustar esta página en un frame.base-uribase-uri 'self'Restringe qué URL se pueden usar en un elemento base.object-srcobject-src 'none'Controla los recursos de object, embed y applet al estilo de los plugins.report-toreport-to defaultNombra un grupo de endpoints de informes para los informes de violación de la política.report-urireport-uri https://example.com/csp-reportEnvía los informes de violación de la política a una URL; las políticas más recientes suelen usar report-to.
Referencias
- Registro
- IANA HTTP Field Name Registry
- Especificación
- Content Security Policy Level 3