Headers CSP restringem quais fontes podem carregar script, estilo e outros recursos. Comece em report-only para encontrar violações, depois aplique. Ajuste diretivas para permitir CDNs e scripts inline legítimos. Use nonce ou hash para scripts inline.
O que o CSP faz
- Diretivas:
default-src,script-src,style-src,img-srcetc. Cada uma limita de onde o navegador pode carregar aquele tipo de recurso. Reduz XSS e injeção não autorizada. - Fontes: Permita origens específicas,
'self','none'ou'unsafe-inline'/'unsafe-eval'(enfraquecem; evite quando possível). - Reporting:
report-urioureport-toenviam relatos de violação. Use em report-only para ver o que seria bloqueado antes de aplicar.
Report-only e depois aplicar
- Report-only: Envie
Content-Security-Policy-Report-Onlyprimeiro. Sem bloqueio; você recebe relatos. Corrija uso legítimo de terceiros ou inline (allowlist de CDNs, nonces). - Aplicar: Quando as violações estiverem aceitáveis, use
Content-Security-Policy. O navegador bloqueará violações. Mantenha report-uri para regressões. - Scripts inline: Prefira nonce ou hash em vez de
'unsafe-inline'. Nonce: servidor gera valor aleatório por requisição; tag script temnonce="…". Reduz superfície de XSS.
Ajuste
- CDNs: Adicione domínios do CDN a
script-src,style-src,img-srcconforme necessário. - Frameworks: Alguns injetam script/style inline. Use suporte a nonce ou hashes.
- Rigor: CSP mais restrito é mais seguro mas pode quebrar widgets legados. Equilibre e melhore ao longo do tempo.
Resumo
Headers CSP restringem fontes de script, estilo e outros recursos. Comece em report-only; ajuste para CDNs e inline (nonce/hash); depois aplique. Reduz risco de XSS e injeção.




