Generador de CSP
Crea una cabecera Content-Security-Policy sin memorizar la sintaxis. Elige orígenes directiva a directiva, parte de una plantilla, ve qué es débil y copia el resultado para tu servidor, una etiqueta meta o un archivo _headers. Todo funciona en tu navegador.
Crea tu política
Parte de una plantilla, marca los orígenes que necesita cada directiva y añade tus propios hosts. La política se actualiza al momento.
La política se crea en tu navegador. Nada de lo que eliges o pegas se envía a un servidor, se registra ni se guarda.
Una Content-Security-Policy le dice al navegador exactamente de dónde puede cargar una página scripts, estilos, imágenes, fuentes y marcos. Todo lo demás se bloquea, lo que convierte la mayoría de los fallos de cross-site scripting en un simple error de consola. El problema es la sintaxis: una comilla u origen de menos y la web se rompe. Este generador la escribe por ti y señala los ajustes que anulan la protección sin avisar.
Ventajas principales
Casos de uso habituales
Cómo usarlo
- 1.Elige una plantilla. Parte de Estricta básica y añade Google Analytics 4, Google Fonts u otras que use tu web. O importa tu política actual.
- 2.Ajusta cada directiva. Marca las palabras clave que necesita cada una y escribe hosts extra, como
https://cdn.ejemplo.com, en la casilla de debajo. - 3.Lee la revisión. Corrige lo marcado con ✗ y decide sobre lo marcado con ⚠. Cada mensaje explica por qué importa.
- 4.Despliega primero en solo informe. Activa Modo solo informe, copia el fragmento para tu servidor y vigila la consola del navegador unos días antes de aplicarla.
Las directivas que más importan
Empieza estricto con default-src y abre solo lo que una función real necesite. Estos seis ajustes concentran casi toda la protección.
'unsafe-inline'; permite el código en línea con un nonce o un hash y enumera solo los hosts de scripts que uses de verdad.Características principales
- 14 directivas, cada una con sus palabras clave y hosts libres
- Plantillas para un inicio estricto, Google Analytics 4, Google Fonts, YouTube y Stripe
- Importa una cabecera existente para revisarla o ampliarla
- Revisión en vivo de unsafe-inline, unsafe-eval, https:, data:, comodines y directivas que faltan
- Modo solo informe, upgrade-insecure-requests y report-uri
- Salida para cabecera HTTP, etiqueta meta, Nginx, Apache y archivos _headers
- Funciona en tu navegador; no se sube nada
Una CSP es una segunda línea de defensa
La CSP limita el daño cuando se cuela un fallo de inyección; no sustituye a escapar la salida y validar la entrada. Una política que permite scripts 'unsafe-inline', o cualquier host HTTPS, parece tranquilizadora y frena muy poco, así que trata estos avisos como el trabajo de verdad.
Despliega una política nueva con calma: envíala como Report-Only, arregla lo que se rompa y después aplícala. Tras desplegarla, nuestro comprobador de cabeceras de seguridad confirma que la cabecera se envía, junto a HSTS y las demás. La guía de cabeceras de seguridad explica cómo encaja la CSP con ellas.
Preguntas frecuentes
¿Qué es una Content-Security-Policy?⌄
Es una cabecera de respuesta HTTP que enumera de dónde puede cargar una página scripts, estilos, imágenes, fuentes, marcos y otros recursos. El navegador bloquea todo lo demás. Su función principal es frenar el cross-site scripting: aunque un atacante inyecte una etiqueta script, el navegador se niega a ejecutarla.
¿Uso una cabecera o una etiqueta meta?⌄
Usa la cabecera HTTP siempre que puedas. La etiqueta meta sirve para la mayoría de las directivas, pero no admite frame-ancestors, report-uri ni el modo solo informe, y solo se aplica al contenido posterior a la etiqueta. Es un recurso para alojamientos donde no puedes poner cabeceras.
¿Por qué es malo 'unsafe-inline' en script-src?⌄
Porque deja ejecutar cualquier script en línea, incluido uno inyectado por un atacante, que es justo lo que la CSP quiere impedir. Si necesitas scripts en línea, dale a cada uno un nonce que cambie en cada respuesta o permite su hash SHA-256. 'unsafe-inline' en style-src es mucho menos arriesgado y suele tolerarse.
¿Una CSP romperá mi web?⌄
Una política estricta suele bloquear algo la primera vez: una etiqueta de analítica, una fuente, un vídeo incrustado. Por eso conviene enviarla primero como Content-Security-Policy-Report-Only, vigilar la consola o tu endpoint de informes, añadir los orígenes que de verdad necesitas y solo entonces aplicarla.
¿Cómo compruebo que mi CSP está activa?⌄
Abre la página y mira las cabeceras de respuesta en las herramientas para desarrolladores, o pasa el dominio por un comprobador de cabeceras de seguridad. Las infracciones aparecen en la consola con la directiva y la URL bloqueada, lo que te dice exactamente qué añadir.