Gerador de CSP
Monte um cabeçalho Content-Security-Policy sem decorar a sintaxe. Escolha as origens diretiva por diretiva, comece de um modelo, veja o que está fraco e copie o resultado para o seu servidor, uma tag meta ou um arquivo _headers. Tudo roda no seu navegador.
Monte sua política
Comece de um modelo, marque as origens que cada diretiva precisa e adicione seus próprios hosts. A política atualiza na hora.
A política é montada no seu navegador. Nada do que você escolhe ou cola é enviado a um servidor, registrado ou salvo.
Uma Content-Security-Policy diz ao navegador exatamente de onde uma página pode carregar scripts, estilos, imagens, fontes e frames. Todo o resto é bloqueado, o que transforma a maioria das falhas de cross-site scripting num simples erro de console. O problema é a sintaxe: uma aspa ou origem a menos e o site quebra. Este gerador escreve por você e aponta as configurações que anulam a proteção sem aviso.
Principais vantagens
Casos de uso comuns
Como usar
- 1.Escolha um modelo. Comece por Base rígida e adicione Google Analytics 4, Google Fonts ou outros modelos que seu site usa. Ou importe sua política atual.
- 2.Ajuste cada diretiva. Marque as palavras-chave necessárias e digite hosts extras, como
https://cdn.exemplo.com, no campo abaixo. - 3.Leia a análise. Corrija o que estiver marcado com ✗ e decida sobre o que estiver com ⚠. Cada mensagem explica por que importa.
- 4.Publique primeiro em só relatório. Ative o Modo só relatório, copie o trecho para seu servidor e acompanhe o console do navegador por alguns dias antes de aplicar.
As diretivas que mais importam
Comece rígido com default-src e libere só o que um recurso real precisa. Estas seis configurações concentram quase toda a proteção.
'unsafe-inline'; libere código inline com nonce ou hash e liste só os hosts de script que você usa de fato.Principais recursos
- 14 diretivas, cada uma com suas palavras-chave e hosts livres
- Modelos para base rígida, Google Analytics 4, Google Fonts, YouTube e Stripe
- Importa um cabeçalho existente para revisar ou ampliar
- Análise ao vivo de unsafe-inline, unsafe-eval, https:, data:, curingas e diretivas ausentes
- Modo só relatório, upgrade-insecure-requests e report-uri
- Saída para cabeçalho HTTP, tag meta, Nginx, Apache e arquivos _headers
- Roda no navegador; nada é enviado
CSP é uma segunda linha de defesa
A CSP limita o estrago quando uma falha de injeção escapa; ela não substitui escapar a saída e validar a entrada. Uma política que libera scripts 'unsafe-inline', ou qualquer host HTTPS, parece tranquilizadora e barra muito pouco, então trate os avisos aqui como o trabalho de verdade.
Implante uma política nova com calma: envie como Report-Only, corrija o que quebrar e só então aplique. Depois de publicar, nosso verificador de cabeçalhos de segurança confirma que o cabeçalho está sendo enviado, junto com HSTS e os demais. O guia de cabeçalhos de segurança explica como a CSP se encaixa com eles.
Perguntas frequentes
O que é uma Content-Security-Policy?⌄
É um cabeçalho de resposta HTTP que lista de onde uma página pode carregar scripts, estilos, imagens, fontes, frames e outros recursos. O navegador bloqueia todo o resto. A função principal é barrar cross-site scripting: mesmo que um atacante injete uma tag script, o navegador se recusa a executá-la.
Uso cabeçalho ou tag meta?⌄
Use o cabeçalho HTTP sempre que puder. A tag meta funciona para a maioria das diretivas, mas não suporta frame-ancestors, report-uri nem o modo só relatório, e só vale para o conteúdo depois dela. É uma alternativa para hospedagens em que você não controla os cabeçalhos.
Por que 'unsafe-inline' é ruim em script-src?⌄
Porque permite rodar qualquer script inline, inclusive um injetado por um atacante, que é exatamente o que a CSP quer evitar. Se precisar de scripts inline, dê a cada um um nonce que muda a cada resposta, ou libere o hash SHA-256 dele. 'unsafe-inline' em style-src é bem menos arriscado e costuma ser tolerado.
Uma CSP vai quebrar meu site?⌄
Uma política rígida costuma bloquear algo na primeira vez: uma tag de análise, uma fonte, um vídeo incorporado. Por isso envie primeiro como Content-Security-Policy-Report-Only, acompanhe o console ou seu endpoint de relatórios, adicione as origens realmente necessárias e só depois aplique.
Como confirmo que minha CSP está ativa?⌄
Abra a página e veja os cabeçalhos de resposta nas ferramentas de desenvolvedor, ou passe o domínio num verificador de cabeçalhos de segurança. As violações aparecem no console com a diretiva e a URL bloqueada, o que diz exatamente o que adicionar.