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

CausaO que acontece
Permissões de arquivoModo/dono errado no arquivo ou diretório
Regras de acesso.htaccess ou config do servidor negando acesso
Sem indexListagem desabilitada e sem index.html
Bloqueio de IPSeu IP/região está numa lista de negação
WAF / CloudflareUma 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

  1. Permissões: diretórios 755, arquivos 644; dono correto.
  2. Regras de acesso: revise .htaccess / blocos location do Nginx.
  3. Index: adicione um ou habilite listagem.
  4. IP e WAF: revise allowlists e logs por falsos positivos.
  5. 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.

Códigos HTTP relacionados