~ / hub / erros / Erro 403 Forbidden — guia completo
27 set 2026errosguia completo

Erro 403 Forbidden — guia completo

Diferença 401 vs 403, ACL de app, WAF, permissões de arquivo e hotlink.

1. 401 vs 403

401 Unauthorized: falta autenticação válida (token/sessão). 403 Forbidden: identidade conhecida (ou anônima), mas sem permissão para a ação.

2. Onde investigar

  • Roles/ACL no backend (admin vs user)
  • Regras de WAF / Cloudflare / mod_security
  • Permissões de filesystem do user do Nginx
  • Bloqueio por referer / hotlink
namei -l /var/www/app/public
ps aux | grep nginx
# logs da app: “permission denied” / “forbidden”

3. Checklist de API

  • Token válido mas escopo insuficiente?
  • Recurso de outro tenant (IDOR)?
  • Método HTTP permitido na rota?

← erros · JWT e authz

O caso que confunde todo mundo: 403 num recurso público

403 em página que deveria ser pública geralmente não é bug de permissão de usuário — é regra de WAF/CDN (Cloudflare, AWS WAF) bloqueando por IP, user-agent ou geolocalização antes mesmo de chegar no seu backend. Teste com curl -A "Mozilla/5.0..." de outra rede antes de mexer em código de autorização.

  • Se o mesmo usuário funciona em uma rota e recebe 403 em outra, o problema é granularidade de permissão (RBAC), não autenticação
  • Nginx/Apache com .htaccess ou regra de IP mal configurada também devolve 403 direto do servidor web, sem nem acionar a aplicação

Quer aplicar isso no seu time?

Diagnóstico gratuito de 30 minutos.

solicitar diagnóstico →