Erro 403 Forbidden: permissões, .htaccess e IP travado

O 403 Forbidden — que em alguns servidores aparece como «No Permission to Access» — não quer dizer que a página não existe. Quer dizer que o servidor percebeu o pedido e recusou-se a responder. A diferença conta: o 404 é «não encontro»; o 403 é «encontro, mas não deixo passar».

São quase sempre quatro causas, e reconhecem-se pelo que aconteceu mesmo antes.

Causa Como se reconhece
Permissões erradas Começou logo depois de enviar ficheiros por FTP, de os descompactar, ou de mexer nas permissões.
Falta o ficheiro de índice Só uma pasta dá 403 e o resto do site abre. Típico de pastas novas.
O .htaccess está a bloquear Começou depois de instalar um plugin de segurança, de colar regras copiadas da internet, ou de uma actualização.
O seu IP ficou travado O site abre no telemóvel com dados móveis e não abre no escritório. É quase de certeza este.

Permissões: os números que interessam

Cada ficheiro e cada pasta têm três permissões — ler, escrever e executar — para três públicos: o dono, o grupo e toda a gente. É isso que os três algarismos dizem.

O quê Que valor
Ficheiros (.php, .html, imagens) 644. Alguns servidores preferem 640; os dois servem.
Pastas 755, ou 750.
wp-config.php e ficheiros com senhas 640 ou 600. Não precisam de ser lidos por mais ninguém.
777, em seja o que for Nunca. Nem «só para testar».
Porque é que o 777 não é desenrascar. 777 quer dizer que qualquer processo do servidor pode escrever ali. É assim que um site infectado passa a infectar os outros ficheiros, e é o primeiro sítio onde um atacante deixa qualquer coisa. Pior: há configurações que recusam servir ficheiros com 777 — ou seja, o próprio 403 que está a tentar resolver pode ter vindo daí.

Para corrigir tudo de uma vez, no cPanel abra o Gestor de Ficheiros. São duas passagens, porque pastas e ficheiros não levam o mesmo número:

1 Entre em public_html e seleccione tudo. Botão direito → Permissions.
2 Ponha 755, marque Recurse into subdirectories e escolha apply to directories only.
3 Repita com 644 e apply to files only.
4 Recarregue o site. Se era isto, volta já.

A pasta não tem índice

Quando alguém pede uma pasta em vez de uma página, o servidor procura um index.php ou index.html lá dentro. Se não houver, a alternativa seria mostrar a lista dos ficheiros — e isso está desligado, com razão. Daí o 403.

O engano habitual: o site foi enviado dentro de uma pasta, como public_html/site/. O índice tem de estar em public_html, não um andar abaixo. Mova o conteúdo, ou faça da pasta a raiz do domínio.

O .htaccess está a bloquear

O .htaccess manda no servidor pasta a pasta, e basta uma linha para fechar tudo. As suspeitas são Deny from all, Order Allow,Deny e Require all denied.

1 No Gestor de Ficheiros, ligue Settings → Show Hidden Files — o nome começa por ponto e por isso está escondido.
2 Mude o nome de .htaccess para .htaccess-desligado. Mudar o nome, não apagar — assim tem sempre volta.
3 Recarregue o site. Se o 403 desapareceu, o culpado está ali dentro.
4 No WordPress, vá a Definições → Links permanentes e clique em Guardar sem mudar nada: ele escreve um .htaccess limpo sozinho.

Se não for WordPress, ponha o nome de volta e tire uma linha de cada vez até encontrar a que bloqueia. Este é o conteúdo que o WordPress põe por omissão, se precisar de o escrever à mão:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Se o site é WordPress e só o painel dá 403. Muitas vezes é um plugin de segurança. Mude o nome da pasta wp-content/plugins para plugins-off, teste, e volte a pôr o nome certo — os plugins ficam desactivados e reactiva-os um a um. Ver não consigo entrar no painel do WordPress.

Foi o nosso sistema de segurança

O servidor bloqueia sozinho pedidos com cara de ataque, e por vezes apanha quem não devia. Reconhece-se por um sinal muito claro: o site abre no telemóvel com dados móveis e não abre no escritório. Nesse caso não é o site — é o seu endereço de rede que ficou na lista.

Acontece sobretudo depois de várias tentativas de entrada falhadas, com redes públicas partilhadas, ou com uma VPN cujo endereço outra pessoa usou mal.

1 Descubra o seu endereço: procure meu IP no Google, na rede onde o site não abre.
2 Abra um pedido com o endereço, a hora aproximada e o domínio. Com esses três dados vamos ao registo do servidor e desbloqueamos.
Se apareceram ficheiros que não foi você que pôs. Nomes estranhos na raiz do site, ficheiros .php em pastas de imagens, datas de alteração de madrugada — nesse caso o 403 pode ser o menor dos problemas. Não se limite a corrigir permissões: fale connosco e reponha uma cópia anterior — ver como repor os seus dados com o JetBackup.

Ainda antes de mexer

Guarde uma cópia. Mudar permissões em massa e reescrever o .htaccess são das operações que mais sites estragaram enquanto os tentavam arranjar. Se o erro for outro número e não o 403, comece pelo guia dos erros do site: 500, 403, 404 e 508 — cada código aponta para um lado diferente.

O 403 continua depois de tudo isto? Diga-nos o domínio e a hora.

Abrir um pedido

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 600,00 MT/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?