Categoria: Desenvolvimento

Gerador de CSP

Ideia nossaFalta uma ferramenta?

Monte um cabeçalho Content-Security-Policy a partir de diretivas

Defina a lista de fontes para cada diretiva do Content-Security-Policy — default-src, script-src, style-src e outras — e obtenha o valor final do cabeçalho, além de uma tabela legível do que cada diretiva permite. Tudo montado localmente no seu navegador.

DiretivaFontes
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
Cabeçalho Content-Security-Policy
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;

Tudo nesta página é processado no seu navegador. Nada é enviado.

Para que serve

O cabeçalho Content-Security-Policy diz ao navegador quais fontes de scripts, estilos, imagens e outros recursos uma página pode carregar, sendo uma das defesas mais fortes contra cross-site scripting. Cada diretiva recebe uma lista de fontes separadas por espaço, como 'self', 'unsafe-inline', https: ou um domínio específico, e acertar a sintaxe manualmente é trabalhoso. Esta ferramenta monta o cabeçalho a partir de um campo por diretiva e mostra a mesma política em forma de tabela, para você revisar exatamente o que está permitindo antes de publicar.

Como usar

  1. Defina a lista de fontes para cada diretiva que você quer restringir.
  2. Ative upgrade-insecure-requests ou block-all-mixed-content se necessário.
  3. Revise a tabela de diretivas e copie o valor do cabeçalho.
  4. Envie-o como o cabeçalho de resposta Content-Security-Policy, ou comece com Content-Security-Policy-Report-Only enquanto testa.

Privacidade

Esta ferramenta roda inteiramente no seu navegador. O que você digita nunca é enviado, salvo ou compartilhado — fechar a aba já remove tudo.

Perguntas frequentes

O que significa uma diretiva vazia?
Uma diretiva deixada em branco aqui é omitida do cabeçalho por completo, o que geralmente significa que ela cai no valor padrão de default-src. Defina primeiro um default-src sensato, como 'self'.
Devo testar primeiro com Report-Only?
Sim — enviar o mesmo valor como Content-Security-Policy-Report-Only permite ver o que a política teria bloqueado, pelo console do navegador ou por um report-uri, sem quebrar a página enquanto você ajusta as regras.
A política é enviada para algum lugar para ser montada?
Não. A string do cabeçalho é montada a partir do que você preenche, diretamente no navegador.