Verificação JavaScript ou bloqueio por IP: duas abordagens contra bots

O bloqueio por IP decide antes de a página carregar e não custa nada em velocidade, mas não enxerga bots em endereços residenciais. A verificação JavaScript vê o navegador por dentro, mas leva tempo e erra em dispositivos incomuns. Veja o que cada abordagem pega e por que uma proteção madura usa as duas.

Bots e fraude11 min de leitura
Conteúdo
  1. Bloqueio por IP: como funciona
  2. Verificação JavaScript: como funciona
  3. Comparação das abordagens
  4. Por que combinar
  5. Como isso afeta a velocidade da página
  6. Exemplo: três visitas vistas por duas camadas
  7. Onde a verificação é desnecessária ou atrapalha
  8. Como isso funciona no ArtisanClo
  9. Em resumo

Quando um anunciante decide se proteger de bots, a primeira pergunta costuma ser técnica: bloquear por IP ou colocar um script na página? São duas maneiras diferentes de olhar para uma visita. O bloqueio por IP avalia de onde veio a requisição. A verificação JavaScript avalia que programa a enviou. Cada abordagem tem seu ponto cego, e é exatamente por isso que uma proteção séria não escolhe entre elas, combina as duas.

A seguir: como cada abordagem funciona, o que pega bem, onde erra e como fazer as duas trabalharem juntas sem perder velocidade de página.

Bloqueio por IP: como funciona

O servidor recebe a requisição e sabe pouco sobre ela: o endereço IP, os cabeçalhos do navegador, a página de origem. Mas um IP revela bastante:

  • a quem pertence a rede: provedor doméstico, operadora móvel, hospedagem, nuvem (pelo número de sistema autônomo, ASN);
  • país e cidade, com precisão suficiente para um filtro de geo;
  • marcações em bases: VPN conhecida, proxy, Tor, endereço de armadilhas de spam;
  • histórico: quantas vezes esse endereço já apareceu e como terminou.

A decisão é tomada antes de a página ser entregue. Essa é a principal vantagem da abordagem: não custa nada em velocidade e funciona até contra programas que não executam scripts.

O que o bloqueio por IP pega

  • Bots de servidor. A maioria dos bots baratos, scrapers e scanners roda em datacenters. Bloquear ASNs de hospedagem elimina esses bots quase sem erro. Mais no artigo VPN, proxy e IPs de datacenter.
  • VPNs conhecidas e proxies de servidor. Os endereços deles entram nas bases com frequência.
  • Endereços que se repetem. Um limite de cliques por IP e uma lista negra de IP barram visitantes insistentes e o concorrente que clica do escritório.
  • Geo errada. Um clique de um país que você não segmentou quase nunca é comprador.

Pontos fracos do bloqueio por IP

  • Proxies residenciais e móveis. O bot sai para a internet pelo endereço de um assinante doméstico ou pelo chip de uma operadora. Para um filtro por IP, é uma pessoa comum. Há um artigo só sobre isso: proxies residenciais e móveis.
  • Endereços compartilhados. Atrás de um IP móvel há centenas de assinantes, atrás de um de escritório, dezenas de funcionários. Bloquear esse endereço corta gente de verdade.
  • Rotação. Um bot que troca de endereço a cada clique escapa dos limites de frequência e das listas negras.
  • Atraso das bases. Um endereço novo entra na base horas ou dias depois, e até lá já fez o estrago.
  • Sem visão por dentro. O IP não diz se é um navegador ou um script, se há tela ou se o mouse se mexe.

Verificação JavaScript: como funciona

A página entrega ao visitante um script pequeno. Ele roda no navegador e coleta o que só se vê por dentro:

  • sinais de automação: a flag webdriver, rastros de ferramentas de controle do navegador, particularidades típicas do modo headless;
  • impressão digital do dispositivo: tela, placa de vídeo, fontes, recursos do navegador;
  • configurações do sistema: fuso horário, idioma, layout do teclado;
  • coerência: se o que o cabeçalho User-Agent declara bate com o que o navegador realmente faz;
  • comportamento: movimentos do mouse e do dedo, rolagem, tempo até a primeira ação.

O script envia o resultado ao servidor, e o servidor decide. Como a impressão digital é montada e onde ela é falsificada está no artigo navegadores headless e fingerprint do navegador.

O que a verificação JavaScript pega

  • Programas sem navegador. Scrapers e bots simples que baixam a página mas não executam o script nunca devolvem resposta. Isso por si só já é um sinal forte.
  • Navegadores headless e automação. Mesmo em IP residencial, um bot controlando um navegador deixa rastros.
  • Dispositivos falsificados. Um «iPhone» com placa de vídeo de servidor e tela de 1920×1080 se entrega pela contradição.
  • Divergência entre rede e sistema. IP da Alemanha, mas fuso e idioma asiáticos. A rede não vê isso, o script vê.
  • Comportamento mecânico. Movimentos perfeitamente retos, saída instantânea, clique sem nenhum movimento antes.

Pontos fracos da verificação JavaScript

  • Tempo. É preciso baixar o script, executá-lo e esperar a resposta do servidor. É um atraso que o bloqueio por IP não tem.
  • Nem toda visita executa. Os navegadores embutidos das redes sociais às vezes carregam a página em segundo plano e congelam os timers; celulares antigos executam o script devagar; parte das pessoas sai antes de a verificação terminar.
  • Dá para falsificar. Os dados vêm do cliente, então um bot avançado pode trocá-los. Os navegadores antidetect existem justamente para isso.
  • Falsos positivos em dispositivos incomuns. WebViews de apps, navegadores com privacidade reforçada, extensões que bloqueiam a impressão digital: tudo isso parece falsificação, mesmo com uma pessoa atrás da tela.
  • Depende de onde está instalada. O script só funciona onde foi colocado. Se o link leva a uma página sem ele, não há verificação.

Comparação das abordagens

Bloqueio por IP Verificação JavaScript
Quando decide antes de entregar a página depois de o script carregar
Impacto na velocidade quase nenhum décimos de segundo
Bots de servidor pega muito bem pega, mas depois e mais caro
Bots em IPs residenciais e móveis quase não vê vê pelo navegador e pelo comportamento
Programas sem JavaScript só se o endereço for de servidor pega pela falta de resposta
Falsificação proxies trocam o endereço navegadores antidetect trocam os dados
Principal risco de erro endereços compartilhados, bloqueios amplos WebView, navegadores privados, celulares lentos

A tabela mostra o essencial: os pontos fracos das duas abordagens quase não se sobrepõem. O que a rede não vê, o navegador vê, e vice-versa.

Por que combinar

Com apenas o bloqueio por IP, toda a fraude em endereços residenciais e móveis passa pelo filtro, e essa é justamente a parte mais cara: os cliques parecem reais e são pagos a preço cheio. Com apenas o script, todo bot de servidor recebe a página, baixa o script e sobrecarrega o servidor, enquanto bots simples que não executaram a verificação ficam indistinguíveis de pessoas que não esperaram a página carregar.

Um esquema que funciona é assim:

  1. Rede como primeira camada. Datacenters, bots conhecidos, endereços da lista negra e geo errada são cortados sem conversa. Barato, rápido e quase sem erro.
  2. Navegador como segunda camada. Tudo o que passou pela rede é checado pelo script: automação, impressão digital, fuso e idioma, comportamento.
  3. Pontuação de confiança em vez de proibições. Sinais fracos (marcação de proxy, endereço móvel, fuso que não bate, ausência de click ID) não bloqueiam a visita sozinhos, eles se somam. A decisão sai do total.
  4. Estatísticas por fonte como terceiro olhar. Nem a melhor verificação de uma visita substitui olhar a fonte de tráfego inteira: fatia de visitas suspeitas, conversões, aprovação. É assim que aparecem os cliques de fazendas e a fraude em anúncios sistemática.

Assim os erros pendem a favor do anunciante: uma pessoa real com VPN não é cortada por um único sinal, e um bot em endereço residencial não passa só porque o endereço está limpo.

Como isso afeta a velocidade da página

Velocidade importa por mais do que conforto: cada segundo extra de carregamento derruba a conversão, e uma proteção que espanta compradores sai mais cara que os bots. O que dá para fazer:

  • Resolver a parte de rede antes. Enquanto o navegador carrega o script, o servidor já pode checar IP, ASN e bases. Quando o script manda os dados, metade da decisão está pronta.
  • Script pequeno e uma conexão só. Quanto menos requisições e mais perto o servidor estiver do visitante, menor a espera. Script comprimido e reaproveitamento da conexão economizam dezenas de milissegundos no móvel.
  • Não esperar comportamento onde não precisa. Checar movimentos do mouse exige que o visitante faça algo na página. Ative isso para fontes rigorosas, não para todo o tráfego.
  • Cortar bots de servidor antes do script. Se o bot caiu na rede, não precisa receber o script: isso poupa recursos do servidor e deixa as estatísticas mais limpas.
  • Medir. Olhe o tempo do clique até a página aparecer em visitas reais, não um teste de laboratório num computador rápido.

Conclusão sobre velocidade: bem implementada, a verificação combinada acrescenta frações de segundo ao carregamento. É bem menos do que se perde com imagens pesadas e contadores de terceiros, e incomparavelmente mais barato do que cliques de bots pagos.

Exemplo: três visitas vistas por duas camadas

Para ver como as abordagens se completam, vamos analisar três cliques numa mesma campanha segmentada para a Alemanha.

Visita A. Endereço de hospedagem em nuvem em Frankfurt, o cabeçalho do navegador diz Chrome recente no Windows. A camada de rede corta na hora: rede de hospedagem em tráfego de anúncio é servidor, não comprador. Nem foi preciso o script, a página não foi entregue e o servidor não gastou recursos.

Visita B. Endereço de provedor doméstico em Munique, limpo nas bases, click ID presente. Pela rede não há o que questionar. O script informa: flag de automação ligada, placa de vídeo por software, fuso America/New_York, nenhum movimento de mouse antes do clique. O bloqueio por IP deixaria essa visita passar, e você pagaria por ela como se fosse real. A camada do navegador a barra.

Visita C. Endereço móvel de uma operadora alemã, marcado como compartilhado, navegador embutido de uma rede social, fuso Europe/Berlin, idioma alemão. O script rodou com atraso porque o app carregava a página em segundo plano. Se o filtro cortasse endereços móveis ou exigisse resposta instantânea do script, esse comprador estaria perdido. A pontuação de confiança vê que os sinais batem e deixa a visita passar.

Nesse exemplo, cada camada sozinha teria errado pelo menos uma vez: só a rede deixaria passar a visita B, e um script rígido sem pontuação de confiança arriscaria cortar a visita C. Juntas, acertaram as três. No tráfego real é igual: a camada de rede, barata, tira a maior parte do lixo, a do navegador pega o que se disfarça de gente, e a soma dos sinais protege contra recusas desnecessárias.

Onde a verificação é desnecessária ou atrapalha

  • Páginas sem tráfego pago. Se nenhum anúncio leva à página, uma verificação rígida do navegador mais atrapalha do que ajuda.
  • Fontes em que quase tudo vem por navegador embutido. Ali vale suavizar a exigência de executar o script e se apoiar na pontuação de confiança.
  • Robôs de busca no site principal. Proteja as landing pages das campanhas, não o site inteiro com o tráfego de SEO. Mais sobre a escolha no artigo antibot para site.

Como isso funciona no ArtisanClo

O ArtisanClo usa as duas camadas: as verificações de rede filtram tráfego de datacenter, VPN e proxy, e a verificação do navegador pega automação e falsificação de dispositivo em endereços que parecem limpos pela rede. Cada clique no registro mostra o código do motivo da decisão, então dá para ver na hora se agiu a rede ou o navegador. O tracker embutido conta gasto, conversões, lucro e ROI por campanha, mostrando quanto dinheiro foi para tráfego lixo e qual fonte o traz. Todas as verificações estão na página de recursos.

Em resumo

O bloqueio por IP e a verificação JavaScript respondem a perguntas diferentes: de onde veio a visita e que programa a enviou. O primeiro é rápido, barato e confiável contra bots de servidor, mas cego para proxies em endereços residenciais e móveis. A segunda vê o navegador por dentro, mas custa tempo, é falsificada por bots avançados e erra em dispositivos incomuns. Os pontos fracos das duas quase não se sobrepõem, então a rede vem na primeira camada, o navegador na segunda, sinais fracos se somam numa pontuação de confiança e o resultado é conferido com estatísticas por fonte. Para calcular quanto custam os bots que passam, leia quanto orçamento se perde com bots.

Perguntas frequentes

01

O que protege melhor contra bots: bloqueio por IP ou verificação JavaScript?

Nenhuma abordagem resolve tudo sozinha. O bloqueio por IP elimina de forma rápida e barata servidores, VPNs conhecidas e endereços de listas negras, mas não vê bots em IPs residenciais e móveis. A verificação JavaScript pega navegadores automatizados e dispositivos falsificados, mas o bot pode não executá-la ou falsificar os dados. O mais confiável é a rede como primeira camada e o navegador como segunda.

02

A verificação JavaScript deixa a página mais lenta?

Um pouco. O script precisa carregar, coletar dados e receber a resposta do servidor, o que normalmente leva décimos de segundo, um pouco mais em internet móvel lenta. O atraso diminui quando as verificações de rede rodam em paralelo ao script e o próprio script é pequeno e servido de um servidor próximo.

03

Dá para burlar a verificação JavaScript?

Um bot simples sem JavaScript simplesmente não passa. Um bot avançado em navegador de verdade executa o script, mas deixa rastros de automação e inconsistências na impressão digital. Um navegador antidetect bem disfarçado e com comportamento humano é difícil de distinguir, por isso o script é complementado com análise de comportamento e estatísticas por fonte.

04

Por que o bloqueio por IP corta pessoas reais?

Porque um endereço não pertence a uma só pessoa. Atrás de um IP móvel há centenas de assinantes, atrás de um IP de escritório está o escritório inteiro, e o endereço de um provedor doméstico passa para outro cliente. Um bloqueio amplo por sub-rede ou país acaba atingindo compradores, então sinais de rede fracos devem contar como penalidade.

05

E os visitantes com JavaScript desativado?

Entre quem chega por anúncios eles são pouquíssimos: JavaScript desativado quase sempre indica um programa. Mesmo assim, exigir a execução do script deve depender da fonte: em alguns apps o navegador embutido carrega a página em segundo plano e executa o script com atraso.

Leia também

Veja o seu tráfego na prática

Conecte o ArtisanClo ao seu site, veja quem realmente chega pelos anúncios e por que cada clique recebeu a sua decisão.