Der Hijack wird dadurch ausgelöst, daß Google zwar den Proxy crawlt, dieser in dem Moment aber die zu hijackende Seite scraped. Der User-Agent bleibt dabei erhalten (also immer noch 'Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)', die IP-Adresse ist die des Proxys.
Jetzt ist ein Script gefordert, das bei Vorhandensein von 'Googlebot' im User-Agent den Hostname zur IP-Adresse besorgt, um nachzuschauen, ob Googlebot tatsächlich von einer IP-Adresse aus der googlebot.com-Domain unterwegs ist.
Ist im Hostname der Substring '.googlebot.com' nicht enthalten, sind die 'harmlosen' Proxies und gefakten User-Agents schon identifiziert.
Sollte der Substring '.googlebot.com' enthalten sein, muß zum Hostname die IP-Adresse abgefragt werden. Ist diese ungleich der Original-IP-Adresse, sind die 'bösen' Proxies, die DNS-Spoofing betreiben, auch identifiziert.
Folgendes kleine Script (PHP, aber sicherlich leicht in andere Sprachen zu übertragen) sollte daher am Anfang von jeder einzelnen Seite ausgeführt werden:
Code: Alles auswählen
$ua = $_SERVER['HTTP_USER_AGENT'];
if( strstr($ua, 'Googlebot') )
{
$ip = $_SERVER['REMOTE_ADDR'];
$hostname = gethostbyaddr($ip);
if( !strstr($hostname,'.googlebot.com') )
{
echo "Unauthorized";
exit;
}
$real_ip = gethostbyname($hostname);
if( $real_ip != $ip )
{
echo "Unauthorized";
exit;
}
}
.
.
.
// Hier fängt die eigentliche Seite an
Mit diesem kleinen Code-Schnipsel hat die mühsame und aussichtslose Jagt auf Proxy-IP-Adressen ein Ende.
Für alle, die bereits betroffen sind:
Wenn das Script installiert ist, könnte man auf der eigenen Seite noch eine Liste mit den Links zu den gehijackten Seiten anlegen, also auf
https://www.badproxy.com/nph-proxy1.cgi ... dpage.html, um Google zu einem Recrawl der gehijachten Seiten zu ermutigen.
HTH