ForHosting KIT · Utilidades de desarrollo

Cree una cabecera Content-Security-Policy con fuentes permitidas

Una cabecera Content-Security-Policy indica al navegador qué ubicaciones pueden suministrar scripts, estilos, imágenes, fuentes, marcos y otros recursos.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.

Este generador convierte filas estructuradas de directivas en un único valor de cabecera bien separado y detecta nombres desconocidos, duplicados, separadores inseguros y valores ausentes. Resulta útil para políticas creadas desde herramientas de despliegue, pantallas de configuración, listas de seguridad o plantillas de aplicaciones, cuando usted necesita una salida previsible sin unir fragmentos a mano ni aceptar por accidente una directiva mal escrita.

Describa la política mediante filas de directivas

Introduzca una fila por cada directiva que desee enviar. Cada fila contiene el nombre de la directiva y una lista ordenada de expresiones de origen o tokens. Por ejemplo, default-src suele comenzar con 'self', mientras que script-src puede añadir un host HTTPS concreto de distribución de contenido. El generador convierte los nombres a minúsculas, elimina espacios exteriores, conserva el orden de filas y fuentes y une las directivas con punto y coma. No inventa alternativas ni amplía silenciosamente la política. Esto es importante porque omitir y permitir tienen consecuencias de seguridad distintas. Si falta img-src, puede aplicarse default-src; un comodín adicional, en cambio, puede autorizar más ubicaciones de las previstas. Trate cada fuente como un solo token CSP y conserve las comillas de palabras como 'self' y 'none'. Use esquemas como data: solo cuando la aplicación los necesite. El resultado es el valor completo, no el nombre de la cabecera, y puede asignarse directamente a Content-Security-Policy en el servidor o el perímetro.

La validación detecta errores estructurales

El generador solo acepta nombres de directivas CSP reconocidos y devuelve un error de entrada si encuentra uno desconocido. Así detecta errores ortográficos que los navegadores podrían ignorar y que dejarían una categoría de recursos menos restringida de lo esperado. También rechaza directivas duplicadas, pues una sola fila explícita es más fácil de revisar y evita resultados sorprendentes. No admite punto y coma, comas, saltos de línea ni espacios internos en un token de fuente, ya que podrían dividir o dañar la política. La mayoría de las directivas requiere al menos una fuente o token. upgrade-insecure-requests y block-all-mixed-content no llevan valor: exigen una lista vacía y se emiten solo por su nombre. La herramienta valida la estructura, no la confianza de un host ni la protección real de su aplicación. Tampoco consulta sitios, inspecciona código, genera nonces ni prueba compatibilidad. Compare los permisos con el comportamiento de la aplicación y despliegue cambios restrictivos con supervisión y entornos graduales cuando una rotura pueda afectar a usuarios.

Despliegue, revise y mantenga el resultado

Copie el valor devuelto en la cabecera de respuesta Content-Security-Policy. Manténgalo como configuración junto a la aplicación, en vez de repartir fragmentos entre middleware, reglas de proxy y plantillas. Una lista centralizada permite revisar cada adición y regenerar exactamente la misma cadena en cada ejecución. Comience con default-src como base deliberada y añada directivas más específicas, como script-src, style-src, img-src, connect-src, font-src, frame-src, object-src y frame-ancestors, cuando la aplicación requiera otro comportamiento. Prefiera hosts y esquemas explícitos a comodines amplios. Si usa hashes o nonces, aporte el token CSP completo y entre comillas; la creación del nonce corresponde a la capa que atiende cada solicitud, porque esta capacidad es determinista y no genera valores aleatorios. Pruebe la respuesta desplegada con las herramientas del navegador y considere primero una política de solo informes. Los informes pueden revelar dependencias bloqueadas, pero deben conducir a cambios precisos, no a permisos indiscriminados. Ejecute de nuevo el generador tras cada cambio de configuración. Las solicitudes API cuestan $0.002 y el navegador utiliza el mismo algoritmo puro.

Genere configuración de servidor

Convierta una lista revisada de directivas CSP en el valor exacto usado por la configuración de la aplicación o del proxy.

Valide un formulario de despliegue

Rechace nombres de directivas mal escritos y tokens de fuente defectuosos antes de que la política llegue a producción.

Mantenga una salida determinista

Produzca texto CSP estable desde configuración versionada para pruebas, plantillas y automatización de infraestructura.

¿Cuánto cuesta?

Cada solicitud API cuesta $0.002. La versión del navegador se ejecuta localmente con el mismo algoritmo determinista.

¿Comprueba si mi política es segura?

No. Valida nombres de directivas y la estructura de salida, pero usted debe decidir qué fuentes debe considerar fiables su aplicación.

¿Deben conservarse las comillas de las palabras clave?

Sí. Introduzca palabras clave CSP como tokens completos, por ejemplo 'self', 'none', 'unsafe-inline' o 'strict-dynamic'.

¿Puede generar un nonce?

No. Los nonces deben ser impredecibles y crearse para cada respuesta. Use un token nonce ya preparado y entre comillas al montar una política concreta.

¿Por qué se rechazan las directivas duplicadas?

Una sola fila por directiva no es ambigua, se audita mejor y evita depender del comportamiento del navegador ante nombres repetidos.

¿Cómo añado upgrade-insecure-requests?

Añada esa directiva con una lista de fuentes vacía. Se emitirá como una directiva sin valor.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/security/csp-header-build

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/security/csp-header-build \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"directives":[{"name":"default-src","sources":["'\''self'\''"]},{"name":"script-src","sources":["'\''self'\''","https://cdn.example.com"]},{"name":"img-src","sources":["'\''self'\''","data:"]}]}'
{
  "directives": [
    {
      "name": "default-src",
      "sources": [
        "'self'"
      ]
    },
    {
      "name": "script-src",
      "sources": [
        "'self'",
        "https://cdn.example.com"
      ]
    },
    {
      "name": "img-src",
      "sources": [
        "'self'",
        "data:"
      ]
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "security.csp_header_build",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →