Ir al contenido principal
Bethemesh
GuíaBuenas prácticasPrincipiante

Content Security Policy (CSP): reducir riesgos XSS y cargas no deseadas

Aprende a implantar una CSP de forma progresiva, sus directivas principales, Report-Only, nonces y errores frecuentes.

Publicado el 29 de agosto de 2026Lectura : 2 minPor Yann Bastien
Mostrar el índice
  1. Empieza observando
  2. Entiende las directivas principales
  3. Autoriza el contenido inline de forma precisa
  4. CSP es defensa en profundidad
  5. Endurece la política de forma progresiva

Content Security Policy indica al navegador qué orígenes pueden proporcionar scripts, estilos, imágenes, fuentes, frames y conexiones de red. Su principal valor es reducir lo que puede ejecutar o cargar un contenido inyectado.

Empieza observando

Una CSP estricta aplicada de golpe puede romper una web real. Haz primero un inventario de recursos propios y de terceros y, cuando sea necesario, comienza con Content-Security-Policy-Report-Only. Así puedes observar infracciones sin bloquear recursos inmediatamente.

El generador CSP ayuda a construir una política inicial.

Entiende las directivas principales

default-src actúa como respaldo. script-src y style-src requieren especial atención porque el código ejecutable y el contenido inline son superficies frecuentes de riesgo. img-src, font-src, connect-src, frame-src y object-src restringen otras capacidades. Es preferible declarar orígenes concretos antes que comodines amplios.

frame-ancestors protege frente a incrustaciones no deseadas, pero solo funciona mediante cabecera HTTP, no dentro de una etiqueta meta CSP. El modo Report-Only también se entrega mediante cabecera HTTP.

Autoriza el contenido inline de forma precisa

'unsafe-inline' debilita una de las principales ventajas de CSP. Cuando el contenido inline sea inevitable, los nonces o hashes CSP permiten autorizar bloques concretos. Un nonce debe ser impredecible y generarse de nuevo en cada respuesta.

CSP es defensa en profundidad

CSP no sanea HTML no confiable ni corrige una autorización defectuosa. Combínala con renderizado seguro, HTTPS y cabeceras de seguridad.

Endurece la política de forma progresiva

Empieza con reporting, elimina excepciones innecesarias, prueba los recorridos críticos y después activa el bloqueo. Revisa la política cuando cambien analytics, publicidad, fuentes u otros servicios externos.

¿Te ha resultado útil este artículo?