1001Ferramentas
🔒Segurança

Construtor de Content-Security-Policy

Monte um header Content-Security-Policy adicionando diretivas (default-src, script-src, img-src, frame-ancestors) com fontes pré-definidas.

Selecione fontes para cada diretiva. Adicione hosts customizados separados por espaço ou linha.


  

Monte um header Content-Security-Policy

Poucas defesas seguram um ataque de injeção de script (XSS) tão bem quanto o Content-Security-Policy. O problema é a sintaxe: tantas diretivas e fontes que a coisa intimida só de olhar. Aqui o construtor faz o trabalho chato por você, adicionando cada diretiva de forma guiada. Não precisa decorar a gramática do CSP.

Você compõe as regras para diretivas como default-src, script-src, img-src e frame-ancestors a partir de fontes comuns já predefinidas. A ferramenta junta tudo num header válido. Com isso dá para limitar de onde o navegador carrega recursos, e a superfície de ataque do site encolhe bastante.

Toda a montagem acontece no próprio navegador, em tempo real, sem nada sair daí. Vale para quem desenvolve e quer reforçar a segurança das páginas sem se enrolar na sintaxe do CSP.

Perguntas frequentes

Quais diretivas e fontes dá para configurar?
São 11 diretivas: default-src, script-src, style-src, img-src, connect-src, font-src, frame-src, frame-ancestors, object-src, base-uri e form-action. Cada uma oferece oito fontes prontas em checkbox (self, unsafe-inline, unsafe-eval, none, data:, blob:, https: e o asterisco) e um campo livre para hosts próprios, separados por espaço. A página já abre com um ponto de partida razoável marcado: default-src self, object-src none, base-uri self e frame-ancestors none. Nonces, hashes, strict-dynamic e report-to ficam de fora — entram só à mão.
O botão Copiar leva o cabeçalho inteiro ou só o valor?
Só o valor. O painel exibe a linha completa com o prefixo Content-Security-Policy: para dar contexto, mas o que vai para a área de transferência é apenas a política em si — pronta para colar como valor do header no nginx, no Apache, no helmet do Express ou no painel do CDN. Se preferir aplicar por metatag http-equiv, cole o mesmo valor; só lembre que frame-ancestors não tem efeito em metatag, funciona apenas como header HTTP de verdade.
A ferramenta avisa se a política ficar inválida ou fraca?
Não — ela apenas concatena o que você marcou, sem validar o resultado. Dá para combinar none com outras fontes na mesma diretiva, o que gera uma política inválida (none precisa aparecer sozinho), e nada alerta que unsafe-inline ou o asterisco em script-src praticamente anulam a proteção contra XSS. Os hosts do campo livre tampouco passam por checagem de sintaxe. Antes de ir para produção, teste com o header Content-Security-Policy-Report-Only e acompanhe as violações no console do navegador.

Ferramentas Relacionadas