Categoria: Desenvolvimento
Gerador de CSP
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.
| Diretiva | Fontes |
|---|---|
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;
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
- Defina a lista de fontes para cada diretiva que você quer restringir.
- Ative upgrade-insecure-requests ou block-all-mixed-content se necessário.
- Revise a tabela de diretivas e copie o valor do cabeçalho.
- 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.