Generador y comprobador de CSP

Escriba su política, una directiva por línea o separadas por punto y coma. Obtendrá la cabecera para copiar, una tabla con la regla que se aplica a scripts, estilos, imágenes y otros recursos, y avisos por los valores que debilitan la política.

Gratuita Funciona en su navegador Revisada: martes, 10 de noviembre de 2026

Directivas como default-src 'self'. Sepárelas con punto y coma o con un salto de línea. Los nombres de las directivas no distinguen mayúsculas.

Envío

Report-Only es la cabecera para probar una política antes de aplicarla. El nombre de la cabecera es el de la línea del resultado.

Resultado

Línea de la cabecera — Cópiela en la configuración de su servidor o en la cabecera de su marco de trabajo.
Revisión — Cada aviso aparece bajo el resultado.
Línea de la cabecera
Regla que se aplica, por recurso

Esta herramienta funciona en su navegador. Lo que escribe no se envía a nosotros.

Cómo se usa

  1. Escriba las directivas en Política, una por línea, con sus nombres exactamente como están escritos, como script-src.
  2. Elija Envío: Content-Security-Policy aplica la política, y Content-Security-Policy-Report-Only es la cabecera para probarla antes.
  3. Lea Regla que se aplica, por recurso para ver qué directiva cubre los scripts, los estilos, las imágenes y los marcos.
  4. Copie la Línea de la cabecera a su servidor, y corrija cada aviso que aparece bajo el resultado.

Qué regla se aplica a un recurso

Un navegador revisa cada tipo de recurso con una directiva. Cuando esa directiva falta, recurre a otra en una cadena de reserva, y la tabla muestra la cadena que siguió. Las cadenas proceden de CSP Level 3, sección 6.8.3.

  • Scripts: script-src-elem, luego script-src y después default-src.
  • Manejadores de eventos en línea: script-src-attr, luego script-src y después default-src.
  • Hojas de estilo: style-src-elem, luego style-src y después default-src. Los atributos de estilo en línea siguen el mismo patrón con style-src-attr.
  • Marcos: frame-src, luego child-src y después default-src.
  • Workers: worker-src, luego child-src, script-src y después default-src.
  • Imágenes, tipografías, audio y vídeo, objetos, manifiestos y peticiones fetch: su propia directiva, y después default-src.

Lo que lee el comprobador

Las directivas se separan con punto y coma, y esta herramienta acepta también saltos de línea. Un nombre se lee hasta el primer espacio y no distingue mayúsculas. Cuando una directiva aparece dos veces, cuenta la primera y se omite la repetición (CSP Level 3, sección 2.2.1).

  • Las palabras clave, como 'self' y 'none', van entre comillas simples. 'none' debe ir sola en su lista.
  • Un nonce es 'nonce-' seguido de un valor en base64. Un hash es sha256, sha384 o sha512, un guion y un valor en base64 (sección 2.3.1).
  • No se admite una coma dentro del valor de una directiva, porque separa las políticas en la cabecera.

Lo que el comprobador no hace

  • No carga la página ni prueba la política en un navegador. La tabla muestra la regla que usaría un navegador, no si su página sigue funcionando.
  • Comprueba la escritura de las palabras clave, los nonces y los hashes, pero no revisa en detalle los orígenes de servidor y de esquema.
  • No juzga las directivas que no enumera, como sandbox. Se mantienen en la línea de la cabecera sin cambios.

Ejemplo resuelto: la política de muestra

Con la política de muestra, los scripts usan script-src, porque falta script-src-elem. Los marcos no tienen frame-src ni child-src, así que recurren a default-src. Los workers no tienen worker-src ni child-src, así que usan script-src. La directiva style-src lleva 'unsafe-inline', y el comprobador lo indica como un aviso.

Recurso Revisadas en orden Regla en uso
Scripts (elementos script) script-src-elem, script-src, default-src script-src
Marcos (iframe) frame-src, child-src, default-src default-src
Workers worker-src, child-src, script-src, default-src script-src

Preguntas frecuentes

¿Por qué la tabla muestra una regla que no escribí para los scripts?

Un recurso sin directiva propia usa la directiva a la que recurre. Para los scripts es script-src-elem, luego script-src y después default-src. La tabla muestra la regla que usaría un navegador, así que una script-src ausente puede seguir dando una regla.

¿Qué permite 'unsafe-inline'?

Permite scripts o estilos en línea en los lugares que cubre la directiva. Un nonce o un hash en la misma lista de orígenes hace que los navegadores ignoren 'unsafe-inline' (CSP Level 3, sección 6.7.3.2), así que use uno de ellos para el código en línea que necesite.

¿Debo escribir report-uri o report-to?

Use report-to. MDN la describe como la directiva que sustituye a report-uri. Mientras report-to no tenga un soporte amplio, MDN aconseja enviar las dos, y el comprobador avisa cuando aparece report-uri.

¿Por qué una de mis directivas aparece como desconocida?

El comprobador juzga solo las directivas que los navegadores incorporan y que documenta MDN. Un nombre que no conoce se mantiene sin cambios en la línea de la cabecera, pero no aparece en la tabla y no se juzga.

¿La herramienta envía mi política a algún sitio?

No. La cabecera se construye en su navegador. Nada de lo que escribe se envía ni se guarda, y la política no se prueba en ningún sitio.

¿CSP Level 3 es una norma definitiva?

Todavía no. El texto en que se basa el comprobador es un borrador de trabajo del W3C de 27 de octubre de 2026, en la vía de Recomendación. Lea la versión más reciente antes de confiar en una regla de una política de producción.

Fuentes

Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.

Usamos cookies necesarias para que el sitio funcione. Si usted lo acepta, Google también usa cookies publicitarias para mostrar anuncios personalizados. Si las rechaza, seguirá viendo anuncios, pero no estarán personalizados.