Headers e Políticas de Segurança
Os headers de resposta HTTP permitem que o servidor instrua o navegador sobre quais comportamentos de segurança ativar.
1. Content-Security-Policy (CSP)
O CSP é a ferramenta mais poderosa para mitigar ataques XSS e de injeção. Ele define quais origens de scripts, estilos, imagens e conexões são confiáveis.
✅ Como fazer
- Use uma política restritiva:
default-src 'self'; script-src 'self' https://trusted.cdn.com;. - Use a diretiva
frame-ancestorspara prevenir Clickjacking.
❌ Como não fazer
- Evite o uso de
'unsafe-inline'e'unsafe-eval', pois eles anulam grande parte da proteção contra XSS.
2. X-Frame-Options
Indica se o navegador deve ou não permitir que a página seja renderizada em um <frame>, <iframe> ou <object>.
✅ Como fazer
- Use
DENYouSAMEORIGINpara prevenir Clickjacking em navegadores que não suportam CSP integralmente.
3. X-Content-Type-Options
Impede que o navegador faça o "MIME-sniffing" de uma resposta, tentando adivinhar o tipo de conteúdo.
✅ Como fazer
- Use
nosniff. Isso força o navegador a respeitar oContent-Typeenviado pelo servidor, evitando que um arquivo de texto seja interpretado como um script.
4. Strict-Transport-Security (HSTS)
Informa ao navegador que o site só deve ser acessado via HTTPS, e que qualquer tentativa de acesso via HTTP deve ser convertida automaticamente.
✅ Como fazer
- Use
Strict-Transport-Security: max-age=31536000; includeSubDomains.
5. Permissions-Policy
Permite controlar quais recursos do navegador (câmera, microfone, geolocalização) podem ser usados pela aplicação e por iframes de terceiros.
6. Referrer-Policy
Define quanta informação do endereço de referência deve ser incluída nas requisições feitas pela página.
✅ Como fazer
- Use
no-referreroustrict-origin-when-cross-origin.