Gerador CSP
Construa um valor de cabeçalho Content-Security-Policy a partir de campos de diretiva estruturados (default-src, script-src, style-src, img-src e outros) além de uma meta tag pronta para colar.
Entrada
Lista de fonte de fallback para diretivas não definidas explicitamente.
De onde os scripts podem ser carregados.
De onde as folhas de estilo podem ser carregadas.
De onde as imagens podem ser carregadas.
De onde os fontes podem ser carregados.
Origens permitidas para conexões fetch/XHR/WebSocket.
De onde contextos de navegação aninhados (iframes) podem ser carregados.
De onde recursos <object>/<embed>/<applet> podem ser carregados.
De onde fontes de áudio/vídeo podem ser carregadas.
Quais pais podem incorporar esta página em um frame — proteção contra clickjacking.
Restringe URLs usáveis no elemento <base> de um documento.
Restringe URLs que podem ser usadas como alvo de ação de um formulário HTML.
Atualiza automaticamente as solicitações HTTP da página para HTTPS.
Saída
Defina isto como o valor do cabeçalho de resposta Content-Security-Policy.
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/csp-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"defaultSrc": "'self'",
"scriptSrc": "'self' https://cdn.example.com",
"styleSrc": "",
"imgSrc": "'self' data:",
"fontSrc": "",
"connectSrc": "",
"frameSrc": "",
"objectSrc": "",
"mediaSrc": "",
"frameAncestors": "",
"baseUri": "",
"formAction": "",
"upgradeInsecure": ""
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `csp-generator` tool (CSP Generator) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/csp-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Gerador CSP — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
O que é Content-Security-Policy?
Content-Security-Policy (CSP) é um cabeçalho de resposta HTTP que diz ao navegador exatamente quais fontes de scripts, estilos, imagens, fontes e outros recursos uma página é permitida carregar. É uma das defesas do lado do navegador mais eficazes contra Cross-Site Scripting (XSS): mesmo se um invasor conseguir injetar uma tag <script> em sua página através de um campo de comentário ou entrada não sanitizada, um CSP bem escrito impedirá que esse script seja executado (ou carregado do domínio de um invasor em primeiro lugar) porque não corresponde a nenhuma fonte permitida. O CSP também bloqueia clickjacking (via frame-ancestors), restringe injeção de tag <base> e pode bloquear para onde os formulários são permitidos enviar. Esta ferramenta constrói um valor de cabeçalho CSP válido a partir de campos de diretiva estruturados, para que você não precise memorizar a sintaxe ou correr o risco de um typo que desative silenciosamente a política.
Como usar
- Preencha a lista de fontes para cada diretiva que você deseja restringir — por exemplo,
default-srccom'self', ouscript-srccom'self' https://cdn.example.com. Separe múltiplas fontes com espaços. - Deixe uma diretiva em branco para omiti-la inteiramente do cabeçalho gerado — diretivas omitidas simplesmente retornam a
default-src(excetoframe-ancestorsebase-uri, que nunca são herdadas e devem ser definidas explicitamente). - Ative upgrade-insecure-requests para fazer com que o navegador reescreva automaticamente as solicitações de sub-recurso HTTP da página para HTTPS.
- Copie o Generated CSP Header Value para seu cabeçalho de resposta
Content-Security-Policy, ou copie a Meta Tag para colar diretamente em seu<head>da página.
Diretivas suportadas
- default-src — lista de fonte de fallback usada por qualquer diretiva de busca que não esteja definida explicitamente.
- script-src — de onde JavaScript pode ser carregado/executado.
- style-src — de onde CSS pode ser carregado.
- img-src — de onde imagens podem ser carregadas.
- font-src — de onde fontes da web podem ser carregadas.
- connect-src — origens permitidas para conexões
fetch,XMLHttpRequest,WebSockete EventSource. - frame-src — de onde contextos de navegação aninhados (
<iframe>) podem ser carregados. - object-src — de onde recursos
<object>,<embed>e<applet>podem ser carregados;'none'é recomendado pois estes são APIs de plugins legados. - media-src — de onde fontes
<audio>/<video>podem ser carregadas. - frame-ancestors — quais origens de pais são permitidas incorporar esta página em um frame; a principal defesa contra clickjacking.
- base-uri — restringe URLs usáveis em um elemento
<base>, prevenindo ataques de injeção de base-tag. - form-action — restringe URLs para as quais um
<form>HTML na página pode enviar.
Valores de fonte comuns
'self' (mesma origem), 'unsafe-inline' (permite <script>/<style> inline — enfraquece a proteção XSS, evite quando possível), 'unsafe-eval' (permite eval() — evite), um domínio específico (https://cdn.example.com), um esquema (https:, data:), ou * (qualquer origem — muito permissivo).
FAQ
Por que minha diretiva está faltando na saída? Diretivas em branco são omitidas inteiramente — apenas diretivas com pelo menos uma fonte são incluídas no cabeçalho gerado.
Devo usar o cabeçalho ou a meta tag? O cabeçalho HTTP Content-Security-Policy é preferido — ele se aplica antes de qualquer HTML ser analisado e suporta diretivas (como frame-ancestors e report-uri) que uma tag <meta> não pode impor. Use a meta tag apenas quando você não puder controlar os cabeçalhos de resposta do servidor.
Qual é a diferença entre default-src e definir cada diretiva individualmente? default-src é um fallback: qualquer diretiva de busca que você deixar em branco herda dela. Definir default-src 'self' sozinho é uma linha de base mínima razoável, mas diretivas explícitas lhe dão um controle mais fino por tipo de recurso.
Privacidade
Tudo é executado em seu navegador — os valores de diretiva que você insere nunca são enviados para nossos servidores.