Gerador de Política de Segurança de Conteúdo

Gere cabeçalhos CSP para proteger contra ataques XSS e injeção de código. Inclui predefinições de segurança e configurações para Nginx, Apache e HTML meta.

Predefinições de Segurança

Configurar Diretivas

fetch Directives

default-src

Fallback for other fetch directives

Examples: 'self', 'self' https:, 'none'
script-src

Sources for JavaScript execution

Examples: 'self', 'self' 'unsafe-inline', 'self' https://cdn.example.com
style-src

Sources for stylesheets

Examples: 'self', 'self' 'unsafe-inline', 'self' https://fonts.googleapis.com
img-src

Sources for images

Examples: 'self', 'self' data:, 'self' https: data:
font-src

Sources for fonts

Examples: 'self', 'self' https://fonts.gstatic.com, 'self' data:
connect-src

Sources for XHR, WebSocket, and EventSource

Examples: 'self', 'self' https://api.example.com, 'self' wss:
media-src

Sources for audio and video

Examples: 'self', 'self' https://media.example.com, 'none'
object-src

Sources for plugins (object, embed, applet)

Examples: 'none', 'self', 'self' https://plugins.example.com
frame-src

Sources for nested browsing contexts (iframe)

Examples: 'self', 'none', 'self' https://www.youtube.com
worker-src

Sources for Worker, SharedWorker, or ServiceWorker

Examples: 'self', 'none', 'self' blob:
manifest-src

Sources for web app manifests

Examples: 'self', 'none', 'self' https://cdn.example.com

document Directives

base-uri

Restrict URLs for <base> elements

Examples: 'self', 'none', 'self' https://example.com

navigation Directives

form-action

Restrict form submission URLs

Examples: 'self', 'none', 'self' https://api.example.com
frame-ancestors

Restrict embedding this page in frames

Examples: 'none', 'self', 'self' https://trusted.example.com

reporting Directives

report-uri

URL to send CSP violation reports

Examples: https://example.com/csp-report, /csp-violation-endpoint

Política de Segurança de Conteúdo Gerada

Política CSP

default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'

Cabeçalho HTTP

Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'

Meta Tag HTML

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'">

Configuração Nginx

add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'";

Configuração Apache

Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'"

Baixar Configuração

Dicas de Segurança

  • Comece com o modo Somente Relatório para identificar mudanças problemáticas
  • Evite 'unsafe-inline' e 'unsafe-eval' quando possível
  • Use nonces ou hashes para scripts/estilos inline
  • Revise e atualize seu CSP regularmente conforme seu site evolui
  • Monitore relatórios de violação CSP para detectar ataques e configurações incorretas
  • Use 'strict-dynamic' com nonces para implementações CSP modernas

Share this tool

Help others discover Content Security Policy Generator

Sobre Esta Ferramenta

Como Funciona

  • Configure diretivas CSP para controlar o carregamento de recursos
  • Use predefinições de segurança para níveis de segurança comuns
  • Gere cabeçalhos para vários servidores web
  • Teste com o modo Somente Relatório antes da aplicação

Casos de Uso Comuns

  • Prevenir ataques XSS e injeção de código
  • Controlar carregamento de recursos de terceiros
  • Implementar segurança em profundidade
  • Cumprir as melhores práticas de segurança

Perguntas Frequentes

O que é uma Política de Segurança de Conteúdo (CSP) e por que preciso dela?

CSP é uma funcionalidade de segurança que ajuda a prevenir ataques de scripting entre sites (XSS) e injeção de dados ao controlar quais recursos podem ser carregados no seu site. Atua como uma camada adicional de segurança contra a execução de código malicioso.

Qual é a diferença entre o modo de aplicação e o modo somente relatório?

O modo de aplicação bloqueia ativamente violações da política CSP, enquanto o modo somente relatório registra violações sem bloqueá-las. Use o modo somente relatório primeiro para testar sua política antes de aplicá-la no site em produção.

Qual predefinição de segurança devo escolher?

Comece com 'Segurança Estrita' para máxima proteção, 'Segurança Moderada' para a maioria dos sites com recursos externos, ou 'Permissivo' para sites de desenvolvimento ou legados. Você sempre pode personalizar as diretivas após selecionar uma predefinição.

Posso usar CSP com meta tags em vez de cabeçalhos HTTP?

Sim, mas cabeçalhos HTTP são recomendados pois oferecem mais funcionalidade e segurança. Note que o modo somente relatório só pode ser implementado usando cabeçalhos HTTP, não meta tags.

O que significa 'unsafe-inline' e devo evitá-lo?

'unsafe-inline' permite a execução de scripts e estilos inline, o que pode ser um risco de segurança. É melhor usar arquivos externos ou implementar nonces/hashes para conteúdo inline. Use 'unsafe-inline' apenas quando for absolutamente necessário para compatibilidade com legados.

Como lidar com serviços de terceiros como Google Analytics ou CDNs?

Adicione os domínios específicos às diretivas apropriadas (ex.: script-src para analytics, font-src para fontes web). Para Google Analytics, adicione 'https://www.google-analytics.com' ao script-src. Seja específico em vez de usar wildcards.

O que devo fazer se o CSP quebrar meu site?

Primeiro, use o modo somente relatório para identificar violações sem quebrar a funcionalidade. Verifique o console do navegador para erros de violação CSP, depois atualize sua política. Aplique restrições gradualmente.

Como implementar relatórios de violação CSP?

Configure uma diretiva report-uri apontando para um endpoint que possa receber requisições POST com dados de violação CSP. Muitos serviços oferecem monitoramento de violações CSP, ou você pode criar seu próprio endpoint.

Posso usar múltiplas políticas CSP na mesma página?

Se múltiplas políticas CSP forem definidas (via cabeçalhos e meta tags), a política mais restritiva se aplica. Recomenda-se usar uma única política bem configurada em vez de múltiplas políticas conflitantes.

Qual é a diferença entre frame-src e frame-ancestors?

frame-src controla quais URLs sua página pode incorporar em iframes, enquanto frame-ancestors controla quais URLs podem incorporar sua página. Use frame-ancestors: 'none' para impedir que sua página seja incorporada em qualquer lugar.

Com que frequência devo atualizar minha política CSP?

Revise sua política CSP quando adicionar novos serviços de terceiros, alterar a arquitetura do site ou receber relatórios de violação. Auditorias de segurança regulares devem incluir revisões da política CSP.

O CSP funciona em todos os navegadores?

CSP é suportado por todos os navegadores modernos, embora algumas versões mais antigas possam ter suporte limitado para recursos CSP mais recentes. O CSP degrada graciosamente — diretivas não suportadas são ignoradas.

Share ToolsZone

Help others discover these free tools!

Compartilhar esta página

Gerador CSP | Cabeçalhos Content Security Policy