./prontouso.com

SEGURANÇA

Gerador de Content Security Policy

Preencha as origens de cada diretiva CSP para gerar um valor de cabeçalho Content-Security-Policy e uma tag meta prontos para uso.

Status da ferramentaRoda no seu navegador
Prévia
prontouso://seguranca/csp-generator
HEADER · NGINX · APACHE · METAGERAÇÃO AUTOMÁTICA

Comece a partir de um perfil

Escolha um ponto de partida e depois ajuste cada diretiva abaixo. Trocar de perfil preserva o que você já digitou nas diretivas que ele não menciona.

POLÍTICA
default-src
Lista padrão para qualquer diretiva não definida explicitamente abaixo.
'self'
Adicionar rápido
script-src
De onde o JavaScript pode ser carregado e executado.
'self'
Adicionar rápido
style-src
De onde folhas de estilo e <style> inline podem vir.
'self'
Adicionar rápido
img-src
De onde imagens podem ser carregadas.
'self'data:
Adicionar rápido
font-src
De onde fontes @font-face podem ser carregadas.
'self'
Adicionar rápido
connect-src
Destinos permitidos para fetch, XHR, WebSocket e EventSource.
'self'
Adicionar rápido
worker-src
De onde scripts de Worker/SharedWorker/ServiceWorker podem carregar.
Desativada — o navegador usa o fallback aplicável, quando essa diretiva possui um.
frame-src
Origens permitidas para conteúdo incorporado em <frame>/<iframe>.
'none'
Adicionar rápido
object-src
Origens permitidas para <object>/<embed>/<applet>. Deixe em 'none' a menos que precise de plugins do estilo Flash.
'none'
Adicionar rápido
base-uri
Restringe para onde uma tag <base> pode apontar, bloqueando um truque comum de injeção.
'self'
Adicionar rápido
form-action
Destinos permitidos para envio de formulários HTML.
'self'
Adicionar rápido
frame-ancestors
Quem pode incorporar esta página em um frame — o substituto do CSP para X-Frame-Options.
'none'
Adicionar rápido
Relato de violações
● SEM LOGIN · PROCESSADO LOCALMENTE

Política gerada

Escolha o formato que corresponde a onde você vai implantar isso.

SAÍDA
Saúde da política

Verificações automáticas contra erros comuns de CSP.

Nenhuma fraqueza óbvia encontrada nas diretivas ativadas.
Header HTTP
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-src 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none';
Testar uma origem

Verifique se uma URL específica seria permitida pela diretiva escolhida, usando a política acima.

Tipo de recurso
URL para testar
Checklist de implantação
1. Publique este header somente relatório — nada no site quebra ainda.
2. Colete relatórios por vários dias de tráfego real antes de mexer em qualquer coisa.
3. Ajuste as diretivas acima para qualquer recurso legítimo que aparecer bloqueado.
4. Quando os relatórios ficarem limpos, mude o modo para Aplicar.

Como funciona

  1. Informe os dados

    Preencha os valores, cole o texto ou envie o arquivo que esta ferramenta usa.

  2. Veja o resultado na hora

    A maioria das ferramentas atualiza enquanto você digita; algumas usam um único botão. De qualquer forma, o resultado aparece aqui mesmo.

  3. Use o resultado

    Copie, baixe ou compartilhe o que a ferramenta gerar — o controle é sempre seu.

Privacidade e processamentoRoda localmente no seu navegador. Esta ferramenta não faz upload da sua entrada.

O que é Gerador de Content Security Policy?

O Gerador de Content-Security-Policy é uma ferramenta para montar uma política CSP a partir de doze diretivas agrupadas, com quatro perfis de partida, detecção automática de fraquezas comuns, suporte a relato de violações (Reporting-Endpoints e report-uri legado), exportação em header HTTP, Nginx, Apache ou tag <meta>, e um testador que verifica se uma URL específica seria permitida ou bloqueada pela política montada.

ENTENDA A FERRAMENTA

Como montar uma Content-Security-Policy: perfis, testador e relatório de violações

Escolha um perfil de partida (Inicial, SPA, Estrita ou Travada), ajuste cada diretiva agrupada em Política principal, Destinos de busca e Navegação, e acompanhe os avisos automáticos de segurança. Alterne entre os modos Somente relatório e Aplicar, exporte em header HTTP, Nginx, Apache ou tag <meta>, e teste se uma URL específica seria bloqueada antes de publicar.

Os quatro perfis de partida

"Inicial" é uma base de mesma origem para um site típico renderizado no servidor. "SPA" parte do mesmo ponto e adiciona origens para XHR/WebSocket e web workers, para uma aplicação single-page. "Estrita (nonce)" usa 'nonce-{RANDOM}' em script-src, que o servidor precisa substituir por um nonce novo a cada requisição — a proteção mais forte contra scripts injetados. "Travada" parte da Estrita e também bloqueia a tag <base>, a mais restritiva das quatro. Trocar de perfil preserva o que você já digitou nas diretivas que esse perfil não menciona — só as diretivas que ele define são substituídas.

Doze diretivas agrupadas em três blocos

"Política principal" reúne default-src (o fallback para qualquer diretiva não definida abaixo), script-src e style-src. "Destinos de busca (fetch)" cobre img-src, font-src, connect-src e worker-src. "Navegação e incorporação" cobre frame-src, object-src, base-uri, form-action e frame-ancestors. Cada diretiva ativada tem chips de "Adicionar rápido" com valores comuns, além de um campo para uma origem personalizada. Uma diretiva ativada sem nenhuma origem gera 'none'; uma diretiva desativada é omitida da política, e o navegador aplica o fallback correspondente (geralmente default-src) em vez dela.

Somente relatório ou Aplicar, e os quatro formatos de saída

"Somente relatório" gera o cabeçalho Content-Security-Policy-Report-Only, que coleta violações sem bloquear nada — seguro para publicar primeiro. "Aplicar" gera o cabeçalho Content-Security-Policy de verdade, que bloqueia ativamente qualquer coisa fora da política. A saída pode ser exportada como cabeçalho HTTP puro, uma diretiva add_header pronta para o Nginx, uma diretiva Header para o Apache, ou uma tag <meta> HTML. Escolher o formato <meta> muda o modo para Aplicar automaticamente, porque uma tag meta de CSP sempre aplica a política e não aceita frame-ancestors nem configuração de relato.

Avisos automáticos de saúde da política

A ferramenta verifica as diretivas ativadas contra seis problemas comuns: uma origem coringa (*), que anula a maior parte da proteção; 'unsafe-eval', que libera eval() e new Function(); 'unsafe-inline', que permite script ou estilo inline; object-src sem estar travada em 'none', o caminho clássico de injeção via plugins; base-uri não definida, que permite sequestrar URLs relativas com uma tag <base> injetada; e frame-ancestors não definida, que deixa a página vulnerável a clickjacking. Sem nenhum desses problemas, a política é sinalizada como sem fraquezas óbvias.

Relato de violações: Reporting-Endpoints e o report-uri legado

Ativando "Enviar relatórios de violação", informe a URL do endpoint (aceita apenas https://, ou http:// em localhost para testes) e um nome de grupo Report-To — a ferramenta gera o cabeçalho Reporting-Endpoints junto com a diretiva report-to na política. A opção "Emitir também a diretiva legada report-uri" adiciona report-uri como alternativa para navegadores que ainda não suportam o mecanismo mais novo de Reporting API.

Testando se uma URL específica seria permitida

A seção "Testar uma origem" escolhe um tipo de recurso e uma URL, e avalia o resultado contra a política atual seguindo a mesma cadeia de fallback do CSP (uma diretiva sem regra própria cai para default-src). O resultado mostra se a URL seria bloqueada (nenhuma origem, sem correspondência, ou apenas 'self' — caso em que a ferramenta não sabe a origem real da sua página e pede verificação manual) ou permitida (coringa, esquema https: ou origem exata). É uma aproximação deliberadamente simplificada, que não modela nonces, hashes nem origens baseadas em caminho.

Privacidade e limites do testador

Toda a montagem da política, os avisos e o testador de origem rodam no seu navegador — nada é enviado a um servidor. Ainda assim, o testador é uma aproximação simplificada do algoritmo real de CSP dos navegadores, não um mecanismo completo: use o modo Somente relatório e as ferramentas de desenvolvedor do navegador para confirmar o comportamento real antes de aplicar a política em produção.

Perguntas frequentes

Qual perfil devo escolher para começar?

Inicial serve para um site típico renderizado no servidor, com recursos de mesma origem. SPA adiciona origens para chamadas XHR/WebSocket e web workers, para uma aplicação single-page. Estrita (nonce) dá a proteção mais forte contra scripts injetados, mas exige que seu servidor gere e injete um nonce novo a cada resposta. Travada parte da Estrita e também bloqueia a tag <base>.

O que significa o {RANDOM} no perfil Estrita?

É um placeholder — seu servidor precisa substituir 'nonce-{RANDOM}' por um valor aleatório novo a cada requisição, e aplicar esse mesmo valor no atributo nonce das tags <script> que devem ser permitidas.

Por que escolher a saída <meta> muda o modo para Aplicar sozinho?

Porque uma tag <meta> de CSP sempre aplica a política, nunca funciona em modo somente relatório, e não suporta frame-ancestors nem as diretivas de relato de violações — a ferramenta ajusta o modo automaticamente para refletir essa limitação.

Diretivas desativadas ficam de fora da política final?

Sim — uma diretiva desativada é omitida por completo da política, e o navegador aplica o fallback correspondente (geralmente default-src) no lugar dela. Isso é diferente de uma diretiva ativada sem nenhuma origem, que gera explicitamente 'none' e bloqueia tudo daquele tipo.

O testador de origem é 100% preciso?

Não — é uma aproximação simplificada para uma checagem rápida, e não modela nonces, hashes nem origens baseadas em caminho. Use-o como um primeiro sinal, mas confirme o comportamento real publicando a política em modo somente relatório e observando o console do navegador.

Como funciona o relato de violações?

A URL do endpoint e o nome do grupo informados geram o cabeçalho Reporting-Endpoints e a diretiva report-to na política, que os navegadores modernos usam para enviar relatórios de violação. Ativar a diretiva legada report-uri adiciona um segundo canal de relato para navegadores que ainda não suportam a Reporting API mais nova.

Os avisos de saúde da política impedem a geração da política?

Não — os avisos são só informativos. A política continua sendo gerada, copiada e baixada normalmente mesmo com fraquezas sinalizadas; cabe a você decidir se cada uma é aceitável para o seu caso.

O que muda entre trocar de perfil e editar uma diretiva manualmente?

Aplicar um perfil só altera as diretivas que aquele perfil define explicitamente — qualquer diretiva que você já tinha ajustado manualmente e que o perfil não menciona continua exatamente como estava.