Como usar
- Digite as diretivas em Política, uma por linha, com os nomes exatamente como estão escritos, como script-src.
- Escolha Modo de envio: Content-Security-Policy impõe a política, e Content-Security-Policy-Report-Only é o cabeçalho para testá-la antes.
- Leia Regra que vale, por recurso para ver qual diretiva cobre scripts, estilos, imagens e quadros.
- Copie a Linha do cabeçalho para o seu servidor e corrija cada aviso listado sob o resultado.
Qual regra vale para um recurso
O navegador confere cada tipo de recurso com uma diretiva. Quando essa diretiva não existe, ele recua por uma cadeia de fallback, e a tabela mostra a cadeia seguida. As cadeias vêm do CSP Nível 3, seção 6.8.3.
- Scripts: script-src-elem, depois script-src, depois default-src.
- Manipuladores de evento inline: script-src-attr, depois script-src, depois default-src.
- Folhas de estilo: style-src-elem, depois style-src, depois default-src. Os atributos de estilo inline seguem o mesmo padrão com style-src-attr.
- Quadros: frame-src, depois child-src, depois default-src.
- Workers: worker-src, depois child-src, depois script-src, depois default-src.
- Imagens, fontes, mídia, objetos, manifestos e requisições fetch: a diretiva própria, depois default-src.
O que o verificador lê
As diretivas são separadas por ponto e vírgula, e esta ferramenta também aceita quebras de linha. Um nome é lido até o primeiro espaço e não diferencia maiúsculas de minúsculas. Quando uma diretiva aparece duas vezes, vale a primeira e a repetição é ignorada (CSP Nível 3, seção 2.2.1).
- Palavras-chave como 'self' e 'none' são escritas entre aspas simples. 'none' precisa estar sozinho na sua lista.
- Um nonce é 'nonce-' seguido de um valor base64. Um hash é sha256, sha384 ou sha512, um traço e um valor base64 (seção 2.3.1).
- Uma vírgula não é permitida dentro do valor de uma diretiva, porque ela separa políticas no cabeçalho.
O que o verificador não faz
- Ele não carrega a página nem testa a política em um navegador. A tabela mostra a regra que um navegador usaria, não se a sua página continua funcionando.
- Ele confere a grafia das palavras-chave, dos nonces e dos hashes, mas não examina em detalhe as fontes de host e de esquema.
- Ele não avalia as diretivas que não lista, como sandbox. Elas permanecem na linha do cabeçalho sem alteração.
Exemplo resolvido: a política de exemplo
Com a política de exemplo, os scripts usam script-src, porque script-src-elem não existe. Os quadros não têm frame-src nem child-src, então recuam para default-src. Os workers não têm worker-src nem child-src, então usam script-src. A diretiva style-src traz 'unsafe-inline', e o verificador informa isso como um aviso.
| Recurso | Verificadas em ordem | Regra em uso |
|---|---|---|
| Scripts (elementos script) | script-src-elem, script-src, default-src | script-src |
| Quadros (iframe) | frame-src, child-src, default-src | default-src |
| Workers | worker-src, child-src, script-src, default-src | script-src |
Perguntas frequentes
Por que a tabela mostra uma regra que eu não escrevi para os scripts?
Um recurso sem diretiva própria usa a diretiva para a qual recua. Para os scripts, são script-src-elem, depois script-src e depois default-src. A tabela mostra a regra que um navegador usaria, então um script-src ausente ainda pode dar uma regra.
O que 'unsafe-inline' permite?
Permite script ou estilo inline nos lugares que a diretiva cobre. Um nonce ou um hash na mesma lista de fontes faz os navegadores ignorarem 'unsafe-inline' (CSP Nível 3, seção 6.7.3.2), então use um deles para o código inline de que precisar.
Devo escrever report-uri ou report-to?
Use report-to. O MDN a descreve como a diretiva que substitui report-uri. Enquanto report-to não tem suporte amplo, o MDN recomenda enviar as duas, e o verificador avisa quando report-uri está presente.
Por que uma das minhas diretivas está marcada como desconhecida?
O verificador julga apenas as diretivas que os navegadores usam e que o MDN documenta. Um nome que ele não conhece permanece na linha do cabeçalho sem alteração, mas não aparece na tabela e não é julgado.
A ferramenta envia a minha política para algum lugar?
Não. O cabeçalho é montado no seu navegador. Nada do que você digita é enviado para nós nem guardado, e a política não é testada em nenhum site.
O CSP Nível 3 já é um padrão final?
Ainda não. O texto que este verificador segue é um Working Draft do W3C de 27 de outubro de 2026, um rascunho na trilha de Recomendação. Leia a versão mais recente antes de confiar em uma regra numa política de produção.
Fontes
- CSP Nível 3, Working Draft do W3C de 27 de outubro de 2026, seções 2.2, 2.3.1, 4.4.1, 6.7.3.2 e 6.8.3 (em inglês)
- MDN: cabeçalho Content-Security-Policy, suas diretivas e o fallback delas (em inglês)
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.