Por que recebo CAPTCHAs em todos os sites? Causas e soluções

CAPTCHAs constantes quase sempre vêm da rota de rede, das configurações do navegador ou dos dois se contradizendo. As causas em ordem de frequência, cada uma com sua solução.
CAPTCHAs constantes geralmente significam uma coisa só. Algo na forma como você chega a um site parece uma máquina, ou parece uma multidão dividindo a mesma porta, e o site aumentou o custo de entrada até receber um sinal mais claro. A verificação é o sintoma. A causa está na sua rota de rede, nas configurações do navegador ou nos dois contando histórias diferentes a um site.
Percorra as causas abaixo em ordem. As três primeiras são de longe as mais comuns, e todas estão no mesmo lugar: o endereço de onde seu tráfego chega.
Comece pelo endereço, porque normalmente é ele
O endereço é compartilhado ou tem histórico
A maioria das conexões não dá a você um endereço só seu. Operadoras móveis e muitos provedores residenciais colocam um grande número de assinantes atrás de um pequeno conjunto de endereços públicos. Escritórios, campi e espaços de coworking fazem o mesmo. Tudo o que outra pessoa atrás desse endereço fez hoje de manhã, você herda à tarde.
Pools de proxy baratos funcionam do mesmo jeito, com chances piores. Um pool residencial compartilhado aluga o mesmo endereço a quem estiver comprando naquela hora, e um site que viu uma onda de tentativas de login vindas dele mais cedo vai ficar desconfiado da próxima.
A solução começa por descobrir qual endereço você está de fato apresentando e depois testá-lo, em vez de confiar na descrição que lhe venderam. No PowerOps, um proxy é adicionado a uma biblioteca e testado antes de chegar perto de qualquer conta, e o teste informa o endereço observado. Se a rota for compartilhada, mude o perfil para uma que não seja.
É um endereço de datacenter
As faixas de endereços pertencentes a provedores de hospedagem são publicadas, catalogadas e triviais de consultar. Não há nada de errado com um endereço de datacenter em si, e muito tráfego comum vem de um. Para uma conta de consumidor com login, porém, é um lugar incomum de estar, e os sites pesam isso.
A solução é reservar endereços de datacenter para trabalhos sem login pessoal e usar endereços residenciais ou móveis nas sessões de conta. O custo sobe. O atrito cai. Essa troca é a decisão inteira.
Você está numa saída de VPN que todo mundo usa
Uma VPN de consumo concentra um número enorme de pessoas em poucos endereços de saída. É o produto funcionando como projetado. É também por isso que uma sessão atrás de uma acumula verificações que não acumula em nenhum outro lugar. Nada do que você fez colocou esse endereço sob escrutínio. O volume puro fez isso.
A solução é ter uma rota própria por perfil, de um provedor que venda endereços sticky (fixos). Se precisar de uma VPN para algo não relacionado, mantenha-a fora da máquina ou do perfil que faz o trabalho com contas, e nunca a empilhe sobre um proxy.
O endereço muda no meio da sessão
Endpoints rotativos entregam um endereço novo a cada requisição ou a cada intervalo. Para coletar dados públicos isso é útil. Para uma sessão com login, é um problema que você criou para si mesmo. Uma sessão que começa numa cidade e continua de outra alguns minutos depois descreve algo que nenhuma pessoa faz.
Essa causa tem um formato característico. Os primeiros minutos são limpos. Depois aparecem verificações em toda navegação, muitas vezes com uma desconexão inesperada no meio.
A solução é mudar o endpoint para o modo sticky ou de sessão persistente, com um tempo de retenção maior que a sua sessão de trabalho. Atribua a rota antes do primeiro login, porque a primeira sessão é a que estabelece o que é normal para aquela conta.
Depois, verifique se o navegador conta uma história consistente
Fuso horário, idioma e endereço discordam
Um perfil roteado por Frankfurt que informa o fuso horário de Los Angeles respondeu à mesma pergunta de duas maneiras diferentes. O mesmo vale para um que apresenta um endereço brasileiro junto a uma lista de idiomas do navegador contendo apenas vietnamita. Nenhum dos valores é notável isoladamente. Juntos, são a contradição mais barata que um site pode procurar.
A solução é ajustar o fuso horário e a lista de idiomas do perfil ao país onde a rota termina, e conferir os dois juntos após cada mudança de rota. É a causa autoinfligida mais comum da lista e leva cerca de dez segundos para corrigir.
O ritmo das requisições parece automatizado
Páginas carregadas em intervalos exatos de quatro segundos. Formulários preenchidos instantaneamente, sem eventos de foco no meio. Navegação sem rolagem em lugar nenhum. Uma dúzia de perfis fazendo coisas idênticas no mesmo segundo, a partir da mesma sub-rede. Nada disso é proibido. Tudo isso é incomum, e o incomum é o que eleva o custo de entrada.
A solução é ritmo. Escalone a abertura dos perfis em vez de iniciar tudo de uma vez. Dê atrasos variáveis ao trabalho automatizado e deixe as páginas se estabilizarem antes da próxima ação. Rode lotes menores. Se um script percorre um site mais rápido do que uma pessoa conseguiria, o site tem o direito de perguntar quem está do outro lado.
Depois, veja o que o navegador guarda e o que ele bloqueia
O conjunto de cookies está velho, ausente ou é descartado toda noite
A maioria das verificações registra o próprio resultado. Passe em uma e o site armazena algo dizendo que esse navegador já respondeu, e a verificação deixa de aparecer por um tempo. Limpe os cookies a cada saída, navegue em janela privada ou crie um perfil temporário novo a cada vez, e esse registro vai para o lixo ao fim de cada sessão. A visita seguinte começa do zero.
A solução é um perfil com diretório persistente próprio, encerrado corretamente para que seu estado seja gravado. Um perfil encerrado à força no meio da sessão pode perder justamente o registro que acabou de conquistar.
Algo está bloqueando os scripts de que a verificação precisa
Uma verificação roda como um script, geralmente carregado de um domínio do provedor de segurança, não do site que você visita. Bloqueadores de conteúdo agressivos, bloqueadores de scripts, extensões de privacidade reforçadas e o armazenamento de terceiros desativado podem quebrar esse carregamento. A verificação nunca termina, então tenta de novo. Do seu lado, parece um loop infinito, ou uma caixa de desafio que gira e nunca resolve.
Siga esta ordem:
- Abra a mesma página em um perfil sem nenhuma extensão. Se o loop parar, uma extensão é a causa.
- Reative as extensões uma por vez até o problema voltar. Bloqueadores de conteúdo e extensões de reforço de privacidade são os suspeitos habituais.
- Permita o domínio do provedor do desafio no que o bloqueou, em vez de desligar o bloqueador por completo.
- Confirme que JavaScript e o armazenamento de terceiros não estão desativados para esse site.
- Verifique o relógio do sistema. Um relógio com vários minutos de diferença quebra os tokens assinados de que um desafio depende, e a falha não se parece em nada com um problema de relógio.
Do sintoma à causa
Compare o que você vê com a coluna da esquerda e comece pela solução da coluna da direita.
| O que você vê | Causa mais provável | Primeira coisa a tentar |
|---|---|---|
| Verificações em todos os sites, em todos os perfis, desde a primeira requisição | O próprio endereço: compartilhado, muito usado ou faixa de datacenter | Teste a rota e consulte a quem o endereço pertence |
| Um perfil afetado, os outros normais | A rota desse perfil ou seu estado armazenado | Troque por uma rota que você sabe ser boa antes de mudar qualquer outra coisa |
| Limpo por alguns minutos, depois verificações em toda navegação | Um endpoint rotativo trocando de endereço no meio da sessão | Mude o endpoint para um modo sticky com retenção longa |
| Você passa numa verificação e a mesma volta logo em seguida | A aprovação não está sendo guardada, ou um script necessário está bloqueado | Pare de limpar cookies ao sair e tente de novo sem extensões |
| A caixa de desafio gira e nunca resolve | Um bloqueador impede o carregamento do script do desafio | Permita o domínio do provedor e depois verifique o relógio do sistema |
| O site carrega no idioma errado antes do login | Localidade e rota discordam | Ajuste o idioma e o fuso horário do perfil ao país da rota |
| Começou logo depois de uma troca de proxy | O histórico do novo endpoint | Teste o endpoint e peça outro ao provedor |
| Começou logo depois de uma extensão ser atualizada | A extensão | Desative-a para esse site e recarregue |
O que não fazer
Alguns reflexos pioram o problema de forma previsível.
- Não aleatorize a identidade do perfil para se livrar de uma verificação. Um dispositivo que muda a cada visita é um sinal mais forte do que aquilo com que você estava preocupado, e descarta as evidências guardadas de todas as verificações que você já passou.
- Não limpe os cookies como primeira reação. Esses cookies são o registro de que você passou. Limpá-los garante que a próxima visita comece do nada.
- Não empilhe uma VPN sobre um proxy. Você ganha duas rotas discordando sobre onde você está, mais latência suficiente para tornar o tempo normal estranho.
- Não fique recarregando a página sem parar. Tentativas fracassadas repetidas a partir de um endereço são exatamente o comportamento que uma verificação mede.
- Não mova uma conta para uma rota totalmente nova no meio de uma sessão. Termine a sessão, mude a rota e entre de novo.
E uma coisa com a qual não vamos ajudar. Resolver essas verificações automaticamente está fora do que o PowerOps faz e fora do que este blog vai explicar. Existem serviços que vendem isso. Não nos integramos a eles, não os documentamos, e nada no produto foi feito para passar por uma verificação de segurança. Tudo o que está acima trata de eliminar os motivos que um site tem para perguntar, para começo de conversa. Responder à pergunta em seu lugar é outro negócio, e não estamos nele.
Se nada funcionar
Às vezes a verificação não tem nada a ver com você. Um site sob ataque eleva seu limite para todos, e o tráfego de um país inteiro pode ficar sob uma regra mais rígida por um ou dois dias. Antes de gastar uma tarde nisso, carregue a mesma página numa conexão comum, sem proxy e sem perfil. Se a verificação também estiver lá, a resposta é esperar.
No restante dos casos, tudo se resume a uma lista curta. Uma rota com histórico. Uma rota que não para quieta. Valores que discordam entre si. Um navegador que não consegue guardar o que conquistou. Corrija esses quatro pontos e as verificações voltam a ser um incômodo ocasional, em vez de definir o seu dia de trabalho.


