google e sua IA horrível estão operando numa órbita distante da realidade …
enquanto procurei uma lista legítima de faixas de IP dos Googlebots para configurar a identificação de google-bots num trabalho que estou fazendo, esbarrei numa dificuldade gigantesca – encontrei nada
daí a IA do Google sugeriu uma “lista JSON atualizada diariamente” que estaria no site do Google sem dizer onde exatamente, e ainda ficou enrolando
quando insisti em algo concreto desviou e tentou sair do assunto, no final me forneceu um código oficial de verificação em PHP, um pedaço absurdo de código, vamos lá, veja:
este é o código como recebi do google, sem modificação alguma!
quem não é da programação, a sintaxe PHP está incoerente – cifrões escapados (\$ipAddress), falta de $ nas variáveis locais (hostname, ipAddress, resolvedIps), este código não rodaria como está, seriam interpretados esses nomes como constantes indefinidas
<?php function isLegitimateGooglebot(\$ipAddress) { // 1. Perform reverse DNS lookup to get the hostname hostname = gethostbyaddr(ipAddress); // If reverse lookup fails or doesn't return a string, it's not Google if (!\$hostname || hostname === ipAddress) { return false; } // 2. Verify the hostname ends with googlebot.com or google.com isGoogleDomain = (substr(hostname, -14) === '.googlebot.com') || (substr(\$hostname, -11) === '.google.com'); if (!\$isGoogleDomain) { return false; } // 3. Perform forward DNS lookup on the hostname to verify the IP resolvedIps = gethostbynamel(hostname); // If forward lookup fails, reject if (!\$resolvedIps) { return false; } // 4. Confirm the original IP matches one of the resolved IPs return in_array(ipAddress, resolvedIps, true); } // Example usage on a live server: visitorIp = _SERVER['REMOTE_ADDR']; if (isLegitimateGooglebot(\$visitorIp)) { echo "This is a legitimate Google bot."; } else { echo "Warning: This bot is spoofing Google."; }
o absurdo técnico …
depois podemos observar gethostbynamel() em vez de gethostbyname()
variante "namel" retorna uma lista com todos os IPs associados ao hostname, não o IP específico, ele verifica o IP de origem contra um pool inteiro em vez de validar a correspondência reversa-direta, o correto seria usar gethostbyname($hostname)
pior, seria um pesadelo de desempenho, além da inutilidade – duas consultas DNS síncronas por requisição (reversa + direta), onde a consulta direta potencialmente retorna um array gigante de IPs, na prática, isso prejudicaria o desempenho do website significantemente e garante nada
uma comédia de falsa segurança – qualquer pessoa controlando um domínio poderia configurar DNS reverso apontando para seu IP e passar na verificação, o error está em que a validação confia no sufixo do domínio, não na origem do endereço …
o ângulo diferenciado …
Google tem total capacidade de publicar faixas de IP estáticas e documentadas para o Googlebot – eles já fazem isso para Google Cloud e outros serviços deles, o fato de não fazerem com os bots, e ainda oferecer um código de verificação quebrado, levanta questões desconfortáveis
a falta de documentação não é incompetência – é evasão do compromisso legítimo
se os IPs são “dinâmicos” e não publicados, o Google pode alegar “não sabemos mas aquele não era nosso crawler” quando for pego fazendo algo questionável …
os técnicos dos sites ficam impossibilitados de distinguir o Googlebot real de impostores, enquanto o Google pode simultaneamente culpar bloqueios com detecção de bot “mal configurada”
a realidade …
quando uma empresa que opera uma das maiores infraestruturas de IP do planeta “não consegue” fornecer um exemplo de código funcional para verificar o próprio crawler, é que eles não querem que você consiga verificá-los de forma alguma …
e caso é um bom fuçador e consegue consertar esse código pobre acontece que seu site vira uma anta …
e claro, nada disso é culpa do Google, só fornecem uma máquina de busca em favor da comunidade internet …
neste sentido …
echo “Warning: Google não é mais um serviço viável.”

Leave a Reply