Como configurar rate limiting para evitar abuso
E aí! Sou o Sensei da GeHost 🥋 Hoje vou te ensinar um truque ninja de segurança: o rate limiting. Parece coisa de hacker, mas é bem simples — e seu site vai ficar muito mais blindado.
Afinal, o que é rate limiting?
Imagina que seu site recebe uma enxurrada de requisições de um único robô: 1.000 tentativas de login por segundo, ou 500 pedidos pra acessar a mesma página. Isso é abuso — e pode derrubar seu site ou deixá-lo lento pra todo mundo.
Rate limiting é simplesmente a gente falar: "ó, você pode fazer isso, mas só X vezes por minuto". Tipo um porteiro no bar — ele deixa entrar, mas se você tentar entrar 10 vezes em 1 minuto, ele bloqueia (é óbvio que algo errado está acontecendo).
💡 Dica: rate limiting não é só segurança — também protege você de gastar banda à toa e evita que gente de má fé puxe seus dados.
Por que você precisa disso?
Sem rate limiting, seu site fica vulnerável a:
- Força bruta: robô tentando adivinhar sua senha de admin 1.000 vezes por segundo
- DDoS light: alguém disparando requisições pra derrubar seu site
- Scraping: máquina puxando todos os seus produtos/preços em segundos
- Spam: formulário de contato recebendo 100 mensagens por minuto do mesmo IP
Com rate limiting ativado? Tudo isso é bloqueado automaticamente. Seu site respira.
Como configurar (3 passos simples)
Você tem 2 caminhos: pelo painel de hospedagem (mais fácil) ou via .htaccess (mais avançado). Vou mostrar os dois.
Opção 1: Pelo painel da GeHost (recomendado)
- Faça login no seu painel de controle da GeHost
- Procure a seção "Segurança" ou "Proteção"
- Clique em "Rate Limiting" ou "Proteção contra Abuso"
- Escolha o que você quer limitar:
- Login/Admin: máximo de tentativas por minuto (recomendado: 5 tentativas por 10 minutos)
- API: requisições por segundo (padrão: 100 por segundo)
- Upload: arquivos por minuto (padrão: 10 por minuto)
- Formulários: envios por hora (padrão: 20 por hora)
- Clique em "Salvar" ou "Ativar"
- Pronto! ✅ Seu site agora está protegido.
💡 Dica: Se você usa WordPress, essa proteção já vem ativada por padrão. A gente já faz o trabalho pesado pra você!
Opção 2: Via .htaccess (para quem quer customizar)
Se você quer ajustar mais fino (só um arquivo ou tipo de requisição), pode editar o .htaccess:
- Acesse o gerenciador de arquivos do painel (ou via FTP)
- Procure o arquivo .htaccess na pasta raiz do seu site (pode estar oculto — ative "mostrar arquivos ocultos")
- Clique em "Editar"
- Adicione estas linhas no começo do arquivo:
# Rate limiting: máximo 100 requisições por minuto
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} ^(.*)$
SetEnvIf Request_URI "^" rate_limit=1 - Salve o arquivo
- Teste seu site — tudo funcionando normal? Ótimo! 🎉
⚠️ Cuidado: Se você editar .htaccess e algo quebrar, você pode sempre deletar as linhas que adicionou. Mas não se preocupa — se ficar com dúvida, a gente está aqui!
Configurações recomendadas (copia e cola!)
Se você não sabe por onde começar, aqui estão os valores que a gente recomenda:
- Login/Admin: 5 tentativas a cada 15 minutos (se errar 5 vezes, bloqueia por 15 min)
- API: 100 requisições por segundo (suficiente pra 99% dos clientes)
- Upload: 10 arquivos por minuto
- Formulários: 20 envios por hora
- Download: 50 por minuto (evita alguém baixar tudo de uma vez)
💡 Dica: Esses números são o "sweet spot" — nem tão apertado que o cliente de verdade sofre, nem tão solto que o abusador consegue entrar.
O que fazer se um cliente legítimo ficar bloqueado?
Às vezes acontece: você tem um script/ferramenta automática que manda muitas requisições legítimas, e o rate limiting bloqueia. Sem pânico!
- Identifique qual limite foi atingido (login, upload, etc.)
- Aumente um pouco esse limite específico (não todos!)
- Se for algo legítimo recorrente, considere colocar o IP do cliente numa "whitelist" (lista branca — não sofre limite)
- Teste de novo
💡 Dica: A whitelist é seu amigo. Use pra seus serviços internos, parceiros e ferramentas que você confia.
Monitorar abusos (bônus!)
Quer saber se alguém está tentando atacar seu site? Procure nos logs:
- Painel → Logs ou Relatórios → procure por "rate limit exceeded" ou "bloqueado"
- Você verá qual IP foi bloqueado, quantas vezes e por qual motivo
- Se um IP aparecer toda hora, dá pra bannir permanentemente via painel
Checklist final
Antes de dormir em paz, confira:
- ✅ Rate limiting está ativado no painel?
- ✅ Os limites fazem sentido pro seu site? (loja = diferentes de blog, por exemplo)
- ✅ Você testou login + upload + formulário pra garantir que funciona?
- ✅ Clientes legítimos conseguem usar normalmente?
- ✅ Você sabe onde encontrar os logs se algo estranho acontecer?
Se tudo isso está sim, você está blindado! 🛡️
Quando chamar a gente?
Rate limiting é seguro, mas se você tiver dúvida em qualquer passo, não tá sozinho:
- Dúvida de qual limite usar? Manda uma mensagem — a gente recomenda.
- Precisa customizar pra caso específico? A gente ajuda.
- Cliente reclamando que tá bloqueado? Investigamos junto.
- Viu um ataque/padrão estranho nos logs? Chamamos o time técnico.
Abra um ticket no painel ou manda direto no WhatsApp. A gente responde rápido! 💪
🥋 Resumindo: Rate limiting é a arte de dizer "não" do jeito certo. Seu site fica protegido, seus clientes não sofrem, e os bad guys vão procurar outro lugar mais fácil. É win-win-win.