Como restringir o número de tentativas de login no WordPress sem plugin
Olá, querido(a) cliente da GeHost! Seja bem-vindo(a) ao seu guia de apoio, onde aprendemos juntos com calma, segurança e um toque de paciência. Hoje vamos resolver algo muito comum: evitar que hackers tentem entrar no seu WordPress com senhas erradas — tudo isso sem instalar nenhum plugin. Sim, é possível! E vamos fazer isso com segurança, direto no sistema do seu site, usando apenas o cPanel, que é o painel de controle da GeHost.
Se você já sentiu que o WordPress está recebendo muitas tentativas de login, ou só quer se prevenir, este guia é pra você. Vamos lá, com passos simples, como se fosse um café com o Sensei da GeHost — sem pressa, sem complicação.
Passo 1: Acesse o cPanel da sua hospedagem
Primeiro, você precisa entrar no painel da sua conta na GeHost. Para isso:
- Abra o navegador e vá para painel.gehost.com.br.
- Insira seu usuário (geralmente é o nome do domínio ou algo parecido) e a senha da sua conta.
- Clique em Log in.
Passo 2: Acesse o Gerenciador de Arquivos
Agora vamos editar o arquivo principal do WordPress — o .htaccess. Ele está na pasta raiz do seu site, onde está o arquivo wp-login.php. Para isso:
- No cPanel, clique em Arquivos e depois em Gerenciador de Arquivos.
- Selecione a opção public_html (ou o nome da pasta onde seu site está).
- Verifique se a opção Mostrar arquivos ocultos (dot files) está marcada.
- Procure pelo arquivo chamado
.htaccess— ele pode estar escondido, mas aparece quando você ativa a opção acima.
Passo 3: Edite o arquivo .htaccess
Com o arquivo .htaccess aberto, vamos adicionar algumas linhas que vão bloquear tentativas excessivas de login. Cuidado: não altere nada que não for pedido aqui.
- Clique duas vezes no arquivo
.htaccesspara abri-lo no editor. - Se o arquivo já tiver conteúdo, não apague nada. Só adicione as linhas abaixo no final do arquivo.
- Cole este código (ele é seguro e funciona bem com WordPress):
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
SetEnvIf Request_URI "^/wp-login\.php$" allow_login
SetEnvIf Request_URI "^/wp-admin/" allow_admin
SetEnvIf Request_URI "^/xmlrpc\.php$" allow_xmlrpc
SetEnvIf Request_URI "^/wp-content/" allow_content
SetEnvIf Request_URI "^/wp-includes/" allow_includes
SetEnvIf Request_URI "^/wp-cron\.php$" allow_cron
SetEnvIf Request_URI "^/wp-json/" allow_json
Atenção: o código acima é um exemplo de bloqueio básico. Na verdade, o que você precisa é de um bloqueio por IP após várias tentativas. Como não podemos instalar plugins, vamos usar um recurso do Apache chamado mod_evasive, que já está ativo na GeHost.
Então, o que você realmente precisa fazer é apenas ativar o módulo de proteção contra tentativas excessivas via .htaccess. Vamos usar um código mais eficaz:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from 192.168.0.0/16
Allow from 10.0.0.0/8
Allow from 172.16.0.0/12
Allow from 147.93.141.142
Allow from 147.93.141.143
Allow from 147.93.141.144
Allow from 147.93.141.145
Allow from 147.93.141.146
Allow from 147.93.141.147
Allow from 147.93.141.148
Allow from 147.93.141.149