WordPress 5 visualizações

Como restringir o número de tentativas de login no WordPress sem plugin

Ver no WHMCS

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:

  1. Abra o navegador e vá para painel.gehost.com.br.
  2. Insira seu usuário (geralmente é o nome do domínio ou algo parecido) e a senha da sua conta.
  3. Clique em Log in.
Tela de login do cPanel com campos de usuário e senha

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:

  1. No cPanel, clique em Arquivos e depois em Gerenciador de Arquivos.
  2. Selecione a opção public_html (ou o nome da pasta onde seu site está).
  3. Verifique se a opção Mostrar arquivos ocultos (dot files) está marcada.
  4. Procure pelo arquivo chamado .htaccess — ele pode estar escondido, mas aparece quando você ativa a opção acima.
Tela do Gerenciador de Arquivos com a pasta public_html e o arquivo .htaccess visível

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.

  1. Clique duas vezes no arquivo .htaccess para abri-lo no editor.
  2. Se o arquivo já tiver conteúdo, não apague nada. Só adicione as linhas abaixo no final do arquivo.
  3. 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

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.