Categoría: Desarrollo
Generador de CSP
Crea una cabecera Content-Security-Policy a partir de directivas
Define la lista de fuentes para cada directiva de Content-Security-Policy —default-src, script-src, style-src y más— y obtén el valor final de la cabecera junto con una tabla legible de lo que permite cada directiva. Se genera localmente en tu navegador.
| Directiva | Fuentes |
|---|---|
default-src | 'self' |
script-src | 'self' |
style-src | 'self' 'unsafe-inline' |
img-src | 'self' data: |
font-src | 'self' |
connect-src | 'self' |
frame-ancestors | 'none' |
object-src | 'none' |
base-uri | 'self' |
form-action | 'self' |
upgrade-insecure-requests | — |
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;
Todo lo de esta página se procesa en tu navegador. No se sube nada.
Para qué sirve
Una cabecera Content-Security-Policy indica al navegador desde qué orígenes puede cargar una página scripts, estilos, imágenes y otros recursos, y es una de las defensas más eficaces contra los ataques de cross-site scripting. Cada directiva admite una lista de fuentes separadas por espacios, como 'self', 'unsafe-inline', https: o un dominio concreto, y acertar con la sintaxis a mano resulta engorroso. Esta herramienta genera la cabecera a partir de un campo por directiva y muestra la misma política en forma de tabla para que puedas revisar exactamente qué estás permitiendo antes de publicarla.
Cómo se usa
- Define la lista de fuentes para cada directiva que quieras restringir.
- Activa upgrade-insecure-requests o block-all-mixed-content si lo necesitas.
- Revisa la tabla de directivas y copia el valor de la cabecera.
- Envíala como cabecera de respuesta Content-Security-Policy, o empieza con Content-Security-Policy-Report-Only mientras haces pruebas.
Privacidad
Esta herramienta funciona íntegramente en tu navegador. Lo que introduces nunca se sube, se guarda ni se comparte: al cerrar la pestaña desaparece.
Preguntas frecuentes
- ¿Qué significa dejar una directiva vacía?
- Una directiva que dejas en blanco aquí se omite por completo de la cabecera, lo que normalmente hace que recaiga en default-src. Define primero default-src con una base razonable como 'self'.
- ¿Debería probar primero con Report-Only?
- Sí: enviar el mismo valor de cabecera como Content-Security-Policy-Report-Only te permite ver qué habría bloqueado la política, a través de la consola del navegador o de un report-uri, sin romper la página mientras la ajustas.
- ¿La política se envía a algún sitio para generarse?
- No. La cadena de la cabecera se genera a partir de tus datos directamente en el navegador.