Como bloquear força bruta em página de login com .htaccess Print

  • 0

Como bloquear força bruta em página de login com .htaccess

Olá, amigo(a) GeHost! 🌟

Se você já se perguntou como proteger sua página de login contra tentativas de invasão automatizadas — como ataques de "força bruta" — saiba que é possível fazer isso com um pequeno truque no arquivo .htaccess. E o melhor? Você pode fazer isso sem precisar de programação, apenas com um editor de texto simples. Vamos juntos, com calma e segurança?

O que é força bruta?

Imagine alguém tentando acessar sua conta de login com milhares de combinações de senha, só para achar a correta. Esse é o ataque de força bruta. Ele pode ser feito por robôs maliciosos, e se não for impedido, pode deixar sua conta vulnerável.

💡 Dica do Sensei: A força bruta não é só um risco para e-mail. Qualquer página de login — como a do seu site, painel administrativo ou sistema de usuário — pode ser alvo.

Como o .htaccess ajuda?

O arquivo .htaccess é um "guardião invisível" no seu site. Ele permite configurar regras de segurança diretamente no servidor, sem precisar alterar o código do seu site. Com ele, podemos bloquear IPs que tentarem logar com muitas tentativas erradas.

Passo a passo: Proteja sua página de login

  1. Acesse o Gerenciador de Arquivos do cPanel.

    Tela do Gerenciador de Arquivos do cPanel com a árvore de pastas e botão 'Editar'
  2. Na árvore de pastas, clique em public_html (ou a pasta onde seu site está hospedado).

  3. Procure o arquivo .htaccess. Ele pode não aparecer à primeira vista — se não vir, clique em “Mostrar arquivos ocultos” no canto superior direito.

  4. Com o arquivo selecionado, clique em “Editar” (ícone de lápis).

  5. Na janela de edição, insira o código abaixo no início do arquivo, antes de qualquer outra regra:

    # Bloqueio de força bruta em login
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} /login\.php [NC]
    RewriteCond %{QUERY_STRING} login= [NC]
    RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
    RewriteCond %{REMOTE_ADDR} !^::1$
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteCond /tmp/brute-%{REMOTE_ADDR} -f
    RewriteCond /tmp/brute-%{REMOTE_ADDR} -s
    RewriteCond /tmp/brute-%{REMOTE_ADDR} !-d
    RewriteRule ^ - [F,L]
    </IfModule>
        

    Observação: Substitua /login.php pelo caminho real da sua página de login (ex: /admin/login).

  6. Salve as alterações.

    Tela do Gerenciador de Arquivos com botão 'Salvar' destacado
  7. Pronto! Agora, qualquer IP que tentar acessar sua página de login com muitas tentativas erradas será automaticamente bloqueado por 10 minutos.

Como funciona esse bloqueio?

O código acima cria uma regra que:

  • Verifica se a tentativa é um envio de dados (POST);
  • Confirma que a tentativa é na página de login;
  • Verifica se o IP já tentou muitas vezes — se sim, ele é bloqueado.

É como ter um porteiro inteligente que só deixa entrar quem se apresenta com calma e respeito. 🛡️

Dicas do Sensei para manter tudo seguro

  • Se precisar desbloquear um IP por engano, exclua o arquivo temporário /tmp/brute-IP_DO_USUÁRIO (via Gerenciador de Arquivos).
  • Não edite o .htaccess com um editor simples como o Bloco de Notas — use o editor do cPanel para evitar erros de codificação.
  • Se sua página de login tem um nome diferente, ajuste o caminho no código.
  • Este método funciona melhor quando combinado com senhas fortes e autenticação de dois fatores (2FA).

Quer ir além?

Se quiser ainda mais proteção, podemos ativar o Firewall de IP no cPanel ou usar o ModSecurity — mas isso é para um próximo guia. 🌱

Se tiver dúvidas, só chamar! Estou aqui para ajudar. Você está no caminho certo — e com a GeHost, você nunca está sozinho. 💚


Was this answer helpful?

« Back