HTTP 403 “Proibido”: causas, prevenção e correção
Publicados: 2023-09-01- O que é HTTP 403?
- Causas comuns
- Diagnosticar
- Como prevenir
- Como corrigi-lo
- Erros relacionados
HTTP 403, significa “Proibido” e indica que a solicitação do cliente é compreendida pelo servidor, mas este se recusa a atendê-la.
Este artigo tem como objetivo esclarecer a essência do HTTP 403, desvendar suas causas comuns, orientar seu diagnóstico e oferecer técnicas de prevenção e resolução.
Também destacaremos os erros relacionados para fornecer uma compreensão abrangente.
O que é HTTP 403?
HTTP 403 é um código de status que significa “Proibido”. Quando encontrado, informa ao cliente que o servidor compreende a solicitação, mas se recusa a concluí-la.
Ao contrário do status 401 “Não autorizado” , que está relacionado a problemas de autenticação do usuário, o erro 403 indica que a autenticação pode ter sido bem-sucedida, mas o usuário autenticado ainda não possui as permissões necessárias para acessar o recurso solicitado.
Causas comuns
Erros HTTP 403 podem surgir de diversas circunstâncias:
- Permissões insuficientes : o usuário pode não ter as permissões necessárias para acessar um recurso específico no servidor.
- Restrições geográficas : alguns conteúdos da web podem ser limitados a usuários de regiões ou países específicos.
- Bloqueio de IP : Os servidores podem bloquear determinados endereços IP devido a questões de segurança ou atividades suspeitas anteriores.
- Regras rígidas de .htaccess : regras incorretas ou excessivamente restritivas no arquivo .htaccess em servidores Apache podem levar a erros 403.
- Protocolos de segurança do servidor : alguns servidores podem ter protocolos de segurança que bloqueiam solicitações de determinados agentes de usuário ou navegadores.
Diagnosticar
Para determinar a causa raiz de um erro HTTP 403, considere as seguintes etapas:
- URL de revisão : certifique-se de que o URL correto esteja sendo acessado e que não haja erros de digitação.
- Inspecione os logs do servidor : os logs do servidor podem fornecer informações sobre o motivo pelo qual uma solicitação específica foi negada.
- Verifique o arquivo .htaccess : para sites executados no Apache, a revisão do arquivo .htaccess pode identificar quaisquer regras excessivamente restritivas.
Como prevenir
Evitar erros HTTP 403 envolve etapas proativas para garantir interações suaves entre servidor e cliente:
- Revise regularmente as permissões : verifique e ajuste periodicamente as permissões para garantir que os usuários possam acessar os recursos necessários.
- Atualize .htaccess com cuidado : Ao modificar o arquivo .htaccess, faça-o com cautela e sempre mantenha backups.
- Monitore a segurança do servidor : mantenha-se atualizado sobre os protocolos de segurança do servidor para evitar bloqueios inadvertidos.
Como corrigi-lo
A resolução de um erro 403 depende da sua causa subjacente:
1. Ajuste as permissões
Certifique-se de que as permissões corretas sejam concedidas aos usuários ou diretórios que necessitam de acesso. (consulte Mais informação)
2. Corrigir problemas de .htaccess
- Faça backup do seu arquivo
.htaccess
: Sempre faça um backup do arquivo.htaccess
antes de fazer qualquer alteração. - Verifique as diretivas de negação : procure por quaisquer diretivas
Deny
em seu arquivo.htaccess
. Se estiverem presentes, podem estar causando o erro 403. Por exemplo:Order allow,deny Deny from all
Para resolver isso, remova a diretiva ou modifique-a para permitir o tráfego desejado. - Proteção por senha : se determinados diretórios forem protegidos por senha usando
AuthType
,AuthName
,AuthUserFile
eRequire
, certifique-se de ter as credenciais corretas para acessá-los. Se não quiser proteção por senha, você pode comentar ou remover essas diretivas. - Permissões de arquivo : embora esta não seja estritamente uma solução
.htaccess
, certifique-se de que seus arquivos e diretórios tenham as permissões corretas. Para muitos servidores, uma configuração de permissão típica é:- Pastas: 755
- Arquivos: 644
- Listagens de diretórios : se você estiver tentando acessar um diretório que não possui um arquivo de índice (como
index.html
ouindex.php
) e as listagens de diretórios estiverem desativadas, você poderá receber um erro 403. Você também pode:- Adicione um arquivo de índice ao diretório.
- Habilite listagens de diretório com:
Options +Indexes
- Regras Mod_Rewrite : Se você estiver usando regras mod_rewrite, certifique-se de que elas estejam escritas corretamente. Regras incorretas às vezes podem levar a erros 403. Comente regras específicas para ver se elas são a causa.
- Verifique se há restrições de arquivo : Procure regras que restrinjam o acesso com base no nome do arquivo, como:
<Files "secretfile.php"> Order allow,deny Deny from all </Files>
Ajuste ou remova essas regras conforme necessário. - Certifique-se da sintaxe .htaccess : um arquivo
.htaccess
gravado incorretamente ou com diretivas inválidas pode causar um erro 403. Certifique-se de que todas as diretivas e sintaxe estejam corretas.
Depois de fazer alterações no arquivo .htaccess
, lembre-se de limpar o cache do navegador ou testar usando um navegador diferente para garantir que está vendo o resultado atualizado. Se nenhuma das soluções acima resolver o problema, considere restaurar um backup do arquivo .htaccess
de um momento em que você não estava enfrentando o erro 403.
3. Lista de permissões de endereços IP
Se o bloqueio de IP for o culpado, considere colocar o endereço IP em questão na lista de permissões.
Lista de permissões com .htaccess:
- Localize regras de bloqueio de IP existentes : procure quaisquer regras existentes em seu arquivo
.htaccess
que possam estar bloqueando endereços IP. Eles podem ser parecidos com:Order Deny,Allow Deny from all Allow from 123.123.123.123
Neste exemplo, apenas o IP123.123.123.123
é permitido e todos os outros IPs são negados. - Colocar um endereço IP na lista de permissões : se desejar colocar um endereço IP específico na lista de permissões, você pode adicioná-lo usando a diretiva
Allow from
:Allow from YOUR.IP.ADDRESS.HERE
SubstituaYOUR.IP.ADDRESS.HERE
pelo endereço IP que deseja colocar na lista de permissões . - Colocar vários endereços IP na lista de permissões: se você tiver vários endereços IP na lista de permissões, poderá adicionar várias diretivas
Allow from
:Allow from IP.ADDRESS.1 Allow from IP.ADDRESS.2
- Coloque um intervalo de IP na lista de permissões : se você tiver um intervalo de endereços IP, poderá usar a notação CIDR ou caracteres curinga:
#Using CIDR notation Allow from 123.123.123.0/24 # Using wildcards Allow from 123.123.123.*
Ambos os exemplos acima seriam coloque na lista branca todos os endereços IP de123.123.123.0
a123.123.123.255
. - Salvar e testar : depois de adicionar as diretivas
Allow from
necessárias, salve o arquivo.htaccess
e tente acessar seu site a partir do endereço IP bloqueado anteriormente. Agora deve estar acessível. - Limpar cache do navegador : sempre limpe o cache do navegador ou use uma janela anônima/privada ao testar para garantir que você está vendo as alterações mais recentes.
Usando iptables
:
eu. Faça backup das regras atuais do iptables : Antes de fazer qualquer alteração, é uma boa ideia fazer backup das regras atuais iptables
.
sudo iptables-save > /path/to/backupfile.txt
ii. Coloque um endereço IP na lista de permissões : para permitir todo o tráfego de um endereço IP específico:
sudo iptables -A INPUT -s YOUR.IP.ADDRESS.HERE -j ACCEPT
Substitua YOUR.IP.ADDRESS.HERE
pelo endereço IP que você deseja colocar na lista de permissões.
iii. Salve as alterações : dependendo da sua distribuição, você pode usar:
sudo service iptables save
Ou:
sudo iptables-save > /etc/sysconfig/iptables
Usando ufw
:
eu. Verifique se o UFW está instalado : Caso contrário, você pode instalá-lo usando o gerenciador de pacotes da sua distribuição, por exemplo:
sudo apt install ufw # For Ubuntu/Debian sudo yum install ufw # For CentOS (might not be in the default repositories)
ii. Habilitar UFW : Se ainda não estiver habilitado, você pode ativar o UFW com:
sudo ufw enable
iii. Coloque um endereço IP na lista de permissões : para permitir todo o tráfego de um endereço IP específico:
sudo ufw allow from YOUR.IP.ADDRESS.HERE
Substitua YOUR.IP.ADDRESS.HERE
pelo endereço IP que você deseja colocar na lista de permissões.
4. Verifique as regras : Você pode verificar as regras do UFW com:
sudo ufw status
4. Procure suporte do provedor de hospedagem : às vezes, entrar em contato com seu provedor de hospedagem pode ajudar a identificar e corrigir problemas específicos do servidor.
Erros relacionados
Para contextualizar ainda mais o HTTP 403, considere estes códigos de status HTTP relacionados:
- HTTP 401 (não autorizado) : a solicitação requer autenticação do usuário.
- HTTP 402 (pagamento obrigatório) : Reservado para uso futuro, sugere que o pagamento é obrigatório.
- HTTP 404 (não encontrado) : O recurso solicitado não está disponível no servidor.
Concluindo, compreender os meandros do código de status HTTP 403 “Proibido” é vital para garantir interações ideais na web. Ao permanecerem informados e proativos, os desenvolvedores e usuários podem navegar por possíveis armadilhas e manter experiências na web perfeitas.
Como um dos cofundadores da Codeless, trago para a mesa experiência no desenvolvimento de WordPress e aplicativos web, bem como um histórico de gerenciamento eficaz de hospedagem e servidores. Minha paixão por adquirir conhecimento e meu entusiasmo por construir e testar novas tecnologias me levam a inovar e melhorar constantemente.
Perícia:
Desenvolvimento web,
Designer de Web,
Administração de Sistema Linux,
SEO
Experiência:
15 anos de experiência em Desenvolvimento Web desenvolvendo e projetando alguns dos temas WordPress mais populares, como Specular, Tower e Folie.
Educação:
Sou formada em Engenharia Física e MSC em Ciência de Materiais e Opto Eletrônica.
Twitter, Linkedin