HTTP 403 Forbidden
Acesso negado: o servidor compreendeu a requisição e deliberadamente se recusa a atendê-la.
O que significa o HTTP 403
HTTP 403 Forbidden significa que o servidor sabe o que você pediu e recusa. Diferente do 401, autenticar-se (novamente) não vai ajudar — a recusa é sobre permissões ou política, não identidade.
As razões vão desde permissões do sistema de arquivos no servidor, até bloqueios de geo/IP, até um firewall de aplicação web decidindo que a requisição parece maliciosa. Alguns sites também retornam 403 em vez de 404 para ocultar se um recurso existe.
Causas comuns de erros 403
- Direitos insuficientes: a conta não tem a função ou o arquivo não tem permissões de leitura (chmod/proprietário no servidor).
- Endereço IP, país ou user-agent bloqueado pelo servidor, CDN ou regra de WAF.
- Listagem de diretório solicitada onde o autoindex está desativado (sem index.html na pasta).
- Proteção contra hotlinking rejeitando requisições com um Referer estrangeiro.
- Um desafio do Cloudflare ou outro WAF falhou — tráfego automatizado frequentemente vê 403 aqui.
Como corrigir como usuário
- Verifique se você está conectado a uma conta que realmente tem acesso.
- Tente sem VPN ou proxy — seu IP de saída pode estar bloqueado.
- Se você é o dono do conteúdo, verifique as permissões de arquivo e regras de .htaccess/WAF em vez de tentar novamente.
Como corrigir como desenvolvedor
- Verifique a propriedade e as permissões de arquivo (por exemplo, 644 para arquivos / 755 para diretórios em servidores web típicos).
- Revise regras de negação: .htaccess, diretivas deny do nginx, plugins de segurança, regras gerenciadas de WAF.
- Garanta que um documento de índice exista ou ative/desative explicitamente a listagem de diretório conforme pretendido.
- Para APIs, retorne 403 com um motivo legível por máquina para que os clientes possam distinguir política de falhas de autenticação.
Exemplo de resposta
HTTP/1.1 403 Forbidden
Content-Type: application/json
{"error":"forbidden","reason":"account lacks role: admin"}Perguntas frequentes
Qual é a diferença entre 403 e 401?
401 pede para você se autenticar; 403 diz que autenticar não vai mudar a resposta — você simplesmente não tem permissão.
Por que um bot ou script recebe 403 enquanto um navegador funciona?
Uma camada de WAF ou proteção contra bots está filtrando tráfego que não é de navegador. Identifique-se corretamente ou use a API oficial do site.
Um 403 pode ser retornado em vez de 404?
Sim — alguns servidores ocultam a existência de recursos respondendo 403 (ou 404) uniformemente para qualquer coisa não autorizada.