Content-Security-Policy na prática para sites PHP
A Content-Security-Policy (CSP) diz ao navegador quais fontes de conteúdo são confiáveis e bloqueia o resto. Uma CSP bem configurada neutraliza a maior parte dos ataques de XSS, mesmo que exista uma falha no código. É a defesa de navegador mais importante de 2026.
O problema do ‘unsafe-inline’
Muita gente libera script-src 'unsafe-inline' para os scripts da página funcionarem — e com isso anula a proteção. A abordagem moderna é usar um nonce: um valor aleatório por requisição que autoriza apenas os scripts que você marcou.
CSP estrita com nonce em PHP
$nonce = base64_encode(random_bytes(16));
header("Content-Security-Policy: " .
"default-src 'self'; " .
"script-src 'self' 'nonce-$nonce' 'strict-dynamic' https:; " .
"object-src 'none'; base-uri 'self'; frame-ancestors 'self'");
// No HTML:
echo "<script nonce=\"$nonce\">/* seu código */</script>";
O 'strict-dynamic' propaga a confiança do seu script para os que ele carregar — assim a política funciona com frameworks JS modernos.
Implante sem quebrar nada
Comece com Content-Security-Policy-Report-Only: o navegador apenas relata violações, sem bloquear. Ajuste até zerar os falsos positivos e então troque para o modo de bloqueio. A CSP complementa o escape de saída contra XSS.
Perguntas frequentes
CSP substitui o escape de saída?
Não. É uma camada extra (defesa em profundidade). Continue escapando a saída e validando a entrada.
Posso usar CSP com Google Analytics e CDNs?
Sim. Adicione os domínios confiáveis em script-src/connect-src, ou prefira nonce + strict-dynamic para os scripts que você controla.
Para empresas que buscam suporte especializado WordPress, recomendamos avaliar nossos critérios de escolha.
Continue lendo
- Cabeçalhos de segurança HTTP essenciais em 2026
- Senhas seguras em PHP: password_hash, Argon2id e bcrypt
- Sessões seguras em PHP: HttpOnly, Secure e SameSite
Procurando uma agência especializada em segurança para WordPress?
O Site Seguro é especialista 100% em segurança WordPress, com SLA, garantia contra reincidência e atendimento humano no Brasil.
Conhecer nosso serviço →