Saltar al contenido
uencoder

CSP

CSP (Content Security Policy) declara, mediante una cabecera HTTP, qué orígenes de recursos puede cargar una página, reduciendo la superficie de ataque de XSS e inyección de datos.

Propósito

Se defiende del XSS y la inyección de contenido poniendo en lista blanca los orígenes desde los que una página puede cargar recursos.

Mecanismo

La cabecera Content-Security-Policy declara directivas: default-src fija la fuente por defecto, script-src las fuentes de scripts, style-src las de estilos, etc. Un nonce o hash permite scripts inline, y report-uri informa las violaciones. El CSP estricto usa nonce más strict-dynamic.

Casos de uso

  • Mitigación de XSS
  • Restricción de scripts de terceros
  • Control de scripts inline
  • Reporte de violaciones

Ejemplos

  • entrada
    script-src 'self' 'nonce-abc'
    Output
    Only same-origin and nonce-tagged scripts are allowed

    Whitelisting

Errores comunes

An overly strict CSP breaks page functionality
Observe first with Report-Only mode

Términos relacionados

References