Tutorial 7 min

Reputação IP e rate limiting: proteger o seu formulário sem bloquear os verdadeiros clientes

Proteja os seus formulários contra ataques por volume graças ao rate limiting por IP e por chave API. Dashboard de reputação IP incluído.

PH

Team Prospect Hub - Christophe Picciotto

Prospect Hub

Reputação IP e rate limiting: proteger o seu formulário sem bloquear os verdadeiros clientes

Cenário: 500 submissões em dez minutos

São 14h37. O seu formulário de contacto recebe uma primeira submissão. Depois outra. Depois dez, depois cem. As 14h47, o seu dashboard apresenta 500 novos leads — todos com dados inválidos, todos provenientes da mesma gama de endereços IP, todos gerados por um script que corre em loop.

É um ataque por volume. Não procura roubar os seus dados. Procura saturar a sua base, esgotar as suas quotas, afogar os seus verdadeiros leads sob uma enxurrada de falsos. Sem proteção, só se apercebe quando os danos já estão feitos.

Este tipo de ataque é banal. Não requer qualquer competência particular: um script Python de vinte linhas e suficiente. A questão não e se o seu formulário será visado, mas quando.

Este artigo explica-lhe como o Prospect Hub responde a este problema, camada por camada — sem bloquear os seus verdadeiros clientes.

O rate limiting: o porteiro a entrada

Imagine um porteiro a entrada de uma discoteca. Não olha apenas se parece suspeito. Observa também a frequência: se a mesma pessoa tenta entrar vinte vezes em cinco minutos, algo não está bem, independentemente da sua aparencia.

O rate limiting funciona exatamente segundo está lógica.

Limitacao por endereço IP

Cada endereço IP tem uma quota de submissões autorizadas numa janela deslizante. Concretamente: um endereço IP não pode submeter mais de N formulários por hora. Se ultrapassar este limiar, os pedidos seguintes são rejeitados — ou marcados como suspeitos — durante um período determinado.

Esta abordagem cobre a grande maioria dos ataques por volume, pois os scripts simples utilizam um único endereço IP ou uma gama restrita. Um humano, mesmo muito rápido, nunca submetera um formulário vinte vezes por hora.

Limitacao por chave API

A limitacao por IP protege contra os abusos externos. A limitacao por chave API protege contra os abusos internos — ou mais precisamente, contra a comprometacao de uma chave.

Cada site cliente dispoe da sua própria chave API (pk_xxxxx). Esta chave está associada a uma quota global. Se for exposta acidentalmente num código fonte publico ou utilizada de forma abusiva, a chave será limitada antes que o impacto se torne crítico. Os outros clientes não são afetados; os seus verdadeiros leads continuam a chegar normalmente.

Estes dois niveis funcionam em paralelo. Um atacante que contornasse o limite por IP utilizando varios endereços esbarraria sempre no limite por chave API.

O dashboard de reputação IP

O rate limiting é uma barreira automática. Mas toda a barreira automática gera falsos positivos. Um comercial que testa o seu próprio formulário em loop, uma ferramenta de monitorizacao que verifica a disponibilidade do formulário, uma rede empresarial cujos varios empregados partilham o mesmo IP de saida: tantas situacoes legítimas que podem acionar um alerta.

É por isso que o Prospect Hub inclui um dashboard de reputação IP acessivel a partir da interface de administrador.

O que ve

A vista lista os endereços IP que acionaram alertas, com para cada um:

O botão “desbloquear”

Se reconhecer um IP legítimo — um parceiro, a sua própria equipa, uma ferramenta de teste — pode desbloqueá-lo com um clique. A pontuação e reiniciada, as submissões futuras desse endereço são novamente aceites normalmente.

Esta ação fica registada nos logs. Sabe quem desbloqueou o que, e quando.

HiveProtect: a assinatura invisível

O rate limiting analisa os volumes. O HiveProtect analisa os comportamentos.

Quando um utilizador carrega o seu formulário, um script JavaScript mede discretamente varios sinais:

O tempo de preenchimento. Um humano que preenche um formulário raramente demora menos de cinco segundos. Le os labels, digita o nome, passa de um campo para outro. Um bot que injeta os valores diretamente no DOM demora geralmente menos de um segundo — frequentemente poucos milissegundos.

As interações com o rato é o teclado. Um humano desloca o rato, clica, comete erros, corrige-os. Um bot não gera qualquer movimento de rato, qualquer evento intermediario. O HiveProtect mede a presença ou ausência destes eventos.

A sequencia de focus. Um humano navega pela ordem dos campos, por vezes volta atras. Um bot preenche frequentemente todos os campos simultaneamente, sem respeitar a ordem natural do formulário.

Estes dados não saem do navegador em forma legivel. Geram uma assinatura comprimida que e enviada com a submissão. Do lado do servidor, está assinatura e descodificada e contribui para a pontuação final do lead.

Se a assinatura indicar um comportamento não humano, o lead e marcado como suspeito — mas não necessariamente rejeitado. O senhor é que mantem o controlo da decisão.

Detecao de User-Agents suspeitos

Um User-Agent é o identificador que o cliente HTTP envia ao servidor para se apresentar. Os navegadores modernos enviam cadeias longas e precisas (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...). Os scripts de ataque, por sua vez, enviam frequentemente User-Agents reveladores.

O Prospect Hub bloqueia ou penaliza automaticamente as submissões provenientes de:

Um navegador real nunca envia estes User-Agents. A deteção é rápida, pouco dispendiosa, e filtra uma porção significativa dos ataques automatizados.

Quadro de sintese: que camada bloqueia o que

Tipo de ataqueCamada que intervem
Script simples a partir de um único IPRate limiting por IP
Script distribuido com chave API comprometidaRate limiting por chave API
Bot sem User-Agent de navegadorDetecao User-Agent
Bot rápido com User-Agent falsificadoHiveProtect (tempo de preenchimento < 1s)
Bot sofisticado com atraso artificialHiveProtect (ausência de interações com o rato)
Formulário submetido fora do navegadorHiveProtect (assinatura em falta) + User-Agent
Volume baixo mas repetido ao longo do tempoReputação IP (acumulação em janela deslizante)

Nenhuma camada e infalível sozinha. É a sua combinação que torna o ataque economicamente não rentavel para o atacante.

Os indicadores visuais no dashboard de leads

Cada lead apresentado no seu pipeline exibe indicadores de confiança. Um lead limpo não apresenta nada de particular. Um lead suspeito apresenta badges coloridos que lhe indicam o que foi detetado:

Ao clicar num lead, acede ao detalhe completo: pontuação de cada sinal, valor do User-Agent recebido, tempo de preenchimento medido, estado do IP no momento da submissão. Nada e opaco.

Esta transparencia é essencial para calibrar a sua confiança nos leads recebidos e tomar decisões esclarecidas — nomeadamente sobre os leads que merecem um tratamento prioritario versus aqueles que devem ser verificados manualmente.

Para ir mais longe

O rate limiting é a reputação IP são duas das nove camadas de proteção que o Prospect Hub implementa em cada formulário. Se quiser compreender o conjunto do dispositivo, leia o nosso artigo sobre as 9 camadas de proteção antispam.

Para uma comparacao técnica entre honeypot, CAPTCHA e proteção comportamental, consulte o nosso comparativo anti-bot. E se ainda não ligou o seu formulário ao Prospect Hub, o guia de integração acompanha-o passo a passo.

Finalmente, para compreender porque as protecoes clássicas já não são suficientes face aos bots modernos alimentados pela IA, o nosso artigo sobre o spam de formulário é a IA coloca o problema de fundo.


Quer testar a proteção nos seus proprios formulários?

O Prospect Hub está disponível sem compromisso. Ligue o seu primeiro formulário em menos de cinco minutos e observe em tempo real o que o seu formulário recebe realmente — é o que e filtrado antes de atingir o seu pipeline.

Tags: rate-limiting ip-reputation segurança api formulário leads antispam

Pronto para passar à ação?

Crie a sua conta gratuita e comece a organizar a sua prospeção agora. 300 leads incluídos, sem cartão de crédito.