default-src (Límite de Reserva Fetch)lista de orígenes (reserva fetch W3C)
Actúa como la directiva de reserva universal para todas las directivas de obtención de recursos (script-src, style-src, img-src, connect-src, font-src, object-src, media-src, frame-src, worker-src, manifest-src). Configurar 'self' restringe las categorías no asignadas al origen actual, mientras que establecer 'none' impone declaraciones explícitas y obligatorias en todos los tipos de recursos.
Por defecto: 'self' (Reserva solo mismo origen)
script-src & 'strict-dynamic' (Blindaje contra Ejecución XSS)lista de orígenes y expresiones de palabras clave
Controla los orígenes de ejecución de JavaScript, previniendo ataques de cross-site scripting (XSS). En W3C CSP Nivel 3, combinar un nonce criptográfico o hash con 'strict-dynamic' instruye a los navegadores modernos para que confíen en scripts creados dinámicamente por scripts raíz autorizados, ignorando al mismo tiempo las listas de dominios permitidos heredadas y 'unsafe-inline'.
Por defecto: 'self' 'strict-dynamic' 'nonce-...' (Estricto moderno)
object-src & base-uri (Defensa contra Plugins y Navegación)lista de orígenes (integridad del documento)
object-src restringe la ejecución de plugins como Flash, Java y Silverlight; configurarlo en 'none' es una directriz de referencia obligatoria de OWASP. base-uri limita las URL permitidas en etiquetas HTML <base href>; de forma crítica, base-uri NO hereda de default-src, lo que implica que omitirlo deja el sitio expuesto a inyecciones de etiquetas base que secuestran las URL relativas de los scripts.
Por defecto: object-src 'none'; base-uri 'none'
frame-ancestors (Protección contra Clickjacking y UI Redressing)directiva de enmarcado (solo cabecera de respuesta HTTP)
Especifica los elementos padre válidos que pueden incrustar la página mediante etiquetas <frame>, <iframe>, <embed> o <applet>, sustituyendo la cabecera obsoleta X-Frame-Options. Declarar 'none' impide que cualquier sitio web incruste la página (evitando ataques de clickjacking), mientras que 'self' permite la incrustación únicamente desde el mismo origen. Nota: frame-ancestors se ignora por completo dentro de etiquetas HTML <meta>.
Por defecto: 'none' o 'self' (Protección anticlickjacking)
connect-src (Límite de API y Exfiltración de Datos)lista de orígenes URL (fetch / XHR / WebSocket)
Restringe los destinos URL hacia los cuales los scripts pueden emitir peticiones a través de interfaces como fetch(), XMLHttpRequest, WebSocket (wss://), EventSource y navigator.sendBeacon(). Resulta esencial para mitigar la exfiltración de datos confidenciales por parte de scripts de terceros comprometidos que intenten enviar tokens de sesión a servidores externos no autorizados.
Por defecto: 'self' (Solo API del origen actual)
upgrade-insecure-requests & report-to (Transporte y Telemetría)indicador de directiva y grupo de reportes
upgrade-insecure-requests ordena a los navegadores transformar automáticamente todas las URL HTTP a HTTPS antes de iniciar la petición, suprimiendo advertencias por contenido mixto. report-to define el grupo de puntos de enlace de la Reporting API hacia los cuales el navegador envía reportes JSON estructurados sobre violaciones de directivas, modernizando y sustituyendo gradualmente la directiva obsoleta report-uri.
Por defecto: upgrade-insecure-requests (Habilitado)