ForHosting KIT · Ferramentas para dev

Crie um cabeçalho Content-Security-Policy com fontes permitidas

Um cabeçalho Content-Security-Policy informa ao navegador quais locais podem fornecer scripts, estilos, imagens, fontes, quadros e outros recursos.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.

Este gerador transforma linhas estruturadas de diretivas em um único valor de cabeçalho corretamente separado, detectando nomes desconhecidos, duplicatas, separadores inseguros e valores ausentes. Ele é útil quando uma política é montada por uma ferramenta de implantação, tela de configuração, checklist de segurança ou modelo de aplicativo e você precisa de uma saída previsível, sem unir trechos manualmente nem aceitar por engano uma diretiva escrita incorretamente.

Descreva a política em linhas de diretivas

Informe uma linha para cada diretiva que pretende enviar. Cada linha contém o nome da diretiva e uma lista ordenada de expressões de origem ou tokens. Por exemplo, default-src normalmente começa com 'self', enquanto script-src pode acrescentar um host HTTPS específico de distribuição de conteúdo. O gerador converte nomes para minúsculas, remove espaços externos, preserva a ordem das linhas e fontes e une as diretivas com ponto e vírgula. Ele não inventa alternativas nem amplia silenciosamente a política. Isso importa porque omissão e permissão têm efeitos de segurança diferentes. A ausência de img-src pode fazer o navegador usar default-src, enquanto um curinga extra pode liberar mais locais do que o previsto. Trate cada fonte como um único token CSP e mantenha as aspas de termos como 'self' e 'none'. Use esquemas como data: somente quando o aplicativo realmente precisar. O resultado é o valor completo, não o nome do cabeçalho, e pode ser atribuído diretamente a Content-Security-Policy na configuração do servidor ou da borda.

A validação encontra erros estruturais

O gerador aceita apenas nomes de diretivas CSP reconhecidos e informa erro de entrada quando encontra um nome desconhecido. Assim, ele captura erros de grafia que o navegador poderia ignorar, deixando uma categoria de recurso menos restrita que o esperado. Diretivas duplicadas também são rejeitadas, pois uma única linha explícita facilita a revisão e evita surpresas. Ponto e vírgula, vírgulas, quebras de linha e espaços internos não são permitidos em tokens individuais, porque podem dividir ou corromper a política. A maioria das diretivas exige ao menos uma fonte ou token. upgrade-insecure-requests e block-all-mixed-content não recebem valor: precisam de uma lista vazia e são emitidas somente pelo nome. A ferramenta valida a estrutura, não determina se um host é confiável nem se a política protege seu aplicativo. Também não consulta sites, inspeciona código, gera nonces ou testa compatibilidade. Compare as permissões com o comportamento real do aplicativo e implante mudanças restritivas com monitoramento e ambientes graduais quando falhas puderem afetar usuários.

Implante, examine e mantenha o resultado

Copie o valor retornado para o cabeçalho de resposta Content-Security-Policy. Mantenha-o como configuração junto do aplicativo em vez de espalhar trechos por middleware, regras de proxy e modelos. Uma lista centralizada torna as adições auditáveis e permite que sistemas automatizados gerem exatamente a mesma cadeia em todas as execuções. Comece por default-src como base intencional e adicione diretivas específicas, como script-src, style-src, img-src, connect-src, font-src, frame-src, object-src e frame-ancestors, quando o aplicativo exigir outro comportamento. Prefira hosts e esquemas explícitos a curingas amplos. Se usar hashes ou nonces, forneça o token CSP completo entre aspas; o nonce deve ser criado pela camada que atende cada solicitação, pois esta capacidade é determinística e não produz valores aleatórios. Teste a resposta implantada nas ferramentas do navegador e considere começar com uma política somente de relatório. Os relatórios podem revelar dependências bloqueadas, mas devem resultar em ajustes precisos, não em permissões indiscriminadas. Execute novamente o gerador após mudanças de configuração. As solicitações à API custam US$ 0,002, e a versão do navegador usa o mesmo algoritmo puro.

Gere configuração de servidor

Transforme uma lista revisada de diretivas CSP no valor exato usado pela configuração do aplicativo ou proxy.

Valide um formulário de implantação

Rejeite nomes de diretivas incorretos e tokens de fonte malformados antes que a política chegue à produção.

Mantenha a saída determinística

Produza texto CSP estável a partir de configuração versionada para testes, modelos e automação de infraestrutura.

Quanto custa?

Cada solicitação à API custa US$ 0,002. A versão do navegador roda localmente com o mesmo algoritmo determinístico.

A ferramenta testa se minha política é segura?

Não. Ela valida os nomes das diretivas e a estrutura da saída, mas você deve decidir quais fontes o aplicativo pode considerar confiáveis.

As palavras-chave devem manter as aspas?

Sim. Informe palavras-chave CSP como tokens completos, por exemplo 'self', 'none', 'unsafe-inline' ou 'strict-dynamic'.

Ela pode gerar um nonce?

Não. Nonces devem ser imprevisíveis e criados para cada resposta. Forneça um token nonce já preparado e entre aspas ao montar uma política específica.

Por que diretivas duplicadas são rejeitadas?

Uma linha por diretiva elimina ambiguidades, facilita auditorias e evita depender do comportamento do navegador diante de nomes repetidos.

Como adiciono upgrade-insecure-requests?

Adicione essa diretiva com uma lista de fontes vazia. Ela será emitida como diretiva sem valor.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

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

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →