403 Forbidden é o servidor dizendo: "entendi exatamente o que você pediu, e me recuso". É um erro 4xx do cliente, mas é sobre permissão, não um erro de digitação — o recurso existe, você só não pode entrar.
403 vs 401: a distinção chave
- 401 Unauthorized → "Quem é você? Autentique e tente de novo." Logar pode resolver. Veja 401 Unauthorized.
- 403 Forbidden → "Sei quem você é (ou não importa), e mesmo assim não pode." Logar quase nunca ajuda.
Causas comuns
| Causa | O que acontece |
|---|---|
| Permissões de arquivo | Modo/dono errado no arquivo ou diretório |
| Regras de acesso | .htaccess ou config do servidor negando acesso |
| Sem index | Listagem desabilitada e sem index.html |
| Bloqueio de IP | Seu IP/região está numa lista de negação |
| WAF / Cloudflare | Uma regra de segurança sinalizou a requisição |
Como corrigir — como visitante
- Revise a URL; limpe cookies e cache; desligue VPN/proxy que possa estar bloqueado; faça login se a página exigir auth.
Como corrigir — como desenvolvedor
- Permissões: diretórios
755, arquivos644; dono correto. - Regras de acesso: revise
.htaccess/ blocoslocationdo Nginx. - Index: adicione um ou habilite listagem.
- IP e WAF: revise allowlists e logs por falsos positivos.
- Autorização: confirme que seus checks de role/scope não rejeitam usuários válidos.
Quando um spike de 403 importa
Um 403 é um glitch de permissão. Uma onda de 403 pode significar duas coisas distintas: um deploy que quebrou suas regras de acesso e bloqueia usuários reais, ou um atacante sondando recursos. O Nurbak Watch rastreia códigos por endpoint e te avisa na hora; o scanner checa a autorização quebrada que os causa. Veja o checklist de segurança de APIs.

