zur « Themenübersicht Webmaster-Tricks
HTML_CSS - Sparte Schutz
Inktomi-Bots und IPs aussperren
Eingetragen am 07.08.2008
Es begann damit, dass nach geraumer Zeit die verschiedensten Suchmaschinen-Bots meine Seite aufsuchten. Dies ist ja auch so gewollt und freute mich, dass Yahoo ohne dortige Anmeldung meine Seite besucht. Zumeist begnügen sich die Bots mit ca. 3 Besuchen am Tag. Aber plötzlich schossen die Zugriffe um ca. 200 in die Höhe und das bei steigender Tendenz.Ich habe den Einddruck, dass dies mit meiner robots.txt zu tun, denn erst seit dem ich die hoch geladen hatte, ging das so richtig los.
Beim auswerten meiner Logfiles entdeckte ich dann den Inktomi-Bot Slurp, der sich breit machte wie ein Virus!
Als die Zugriffe innerhalb weniger Tage auf ca. 400, auch mit steigender Tendenz stiegen, dachte ich, jetzt musst du was unternehmen, zumal meine Statistiken völlig verfälscht wurden!
Ich habe eigentlich genug Traffic zur Verfügung, aber viele nicht, darum hier meine Tipps, denn bei mir saugte Inktomie gut 25 MB.
Wer ist Inktomi, was ist Slurp?
Inktomie ist ein Dienstleister zum Indexieren von Webseiten. Bei Inktomi bedienen sich zB. Yahoo, Lycos, HotBot, MSN und einige andere mehr. Inktomi selbst besitzt keine Suchmaschine, sie liefern nur die Daten und verkaufen sie weiter.
Der Bot, also die Maschine die die Webseiten durchforstet nennt sich Slurp.
Was ist zu tun?
Welche Strategie man anwendet, muss jeder für sich selbst ausmachen, da bei jedem Webmaster die Interessenlage anders ist. Da Google mit einem Marktanteil um 90% die wohl wichtigste Suchmaschine ist, mag sich manch einer überlegen, Inktomi gänzlich auszusperren. Sperrt man Inktomi aus, ist es auch wahrscheinlich, dass man bei Yahoo, MSN, Yahoo usw. ganz aus dem Index fliegt. Wie gesagt, die Strategie muss jeder für sich selbst ausmachen. Ich zeige hier die unterschiedlichen Möglichkeiten auf.
Hinweis:
Ich gehe davon aus, dass bei euch PHP läuft und dass ihr eine eigene .htaccess anlegen dürft und mode_rewrite aktiv ist. Wenn ihr nicht sicher seid, erkundigt euch bei eurem Provider. Ohne .htaccess mit aktivem mode_rewrite geht nur die Möglichkeit mit PHP oder der robots.txt. Wer ganz billig hostet, na ja, die robots.txt geht immer!
Der Bot hat Gott sei Dank einen Namen und so kann man ihn leicht aussperren. Bei Inktomi ist das Slurp und diesen Nervtöter wollen wir ja weg haben.
Per .htaccess:
SetEnvIfNoCase User-Agent slurp spambot=1
<Limit GET POST PUT>
Order allow,deny
deny from env=spambot
allow from all
</Limit>
<Limit GET POST PUT>
Order allow,deny
deny from env=spambot
allow from all
</Limit>
Allerdings versteckt sich der Bot manchmal und verschleiert seinen Namen, logisch, dass dann der Filter nicht wirkt. Besser ist es da, einen Adressraum zu sperren.
Tipp:
Den folgenden Trick kann man auch sehr gut gegen andere Besucher anwenden! Besucher von bestimmten Websiten, den Firmenrechner, die ganzen Spambots aus dem asiatischen Raum...
Um unseren Slurp auszusperren, sperren wir den Adressraum 76.6.xx.xxx
Ihr müsst in den Logs mal kontrollieren, ob sich Inktomi nicht noch anderer Adressräume bedient. Der Eintrag deny from kann beliebig erweitert werden, einfach in die nächste Zeile schreiben.
<Limit GET PUT POST>
order allow,deny
deny from 76.6.
allow from all
</Limit>
order allow,deny
deny from 76.6.
allow from all
</Limit>
Möchtet ihr Slurp nicht aussperren, könnt ihr ihm auch eine bestimmte Seite unter jubeln:
RewriteCond %{HTTP_USER_AGENT} ^Slurp
RewriteRule ^.*$ fuerslurp.html [L]
RewriteRule ^.*$ fuerslurp.html [L]
Eine Möglichkeit wäre, hier eine Seite mit viel Text über den Inhalt eurer Seite anzulegen.
Wenn ihr nicht berechtigt seid eine eigene .htacces anzulegen, aber PHP läuft, könnt ihr das so lösen. Logisch, dass eure Dateien auf .php enden ;-)
Per PHP:
<?php
if (preg_match("/Slurp/",$_SERVER['HTTP_USER_AGENT'])) {
echo "Hi Slurp, du bist hier nicht willkommen, also verzieh dich!";
exit (); /* Die Ausgabe wird beendet, d.h. der Slurp sieht nur diesen tollen Satz. */
}
?>
if (preg_match("/Slurp/",$_SERVER['HTTP_USER_AGENT'])) {
echo "Hi Slurp, du bist hier nicht willkommen, also verzieh dich!";
exit (); /* Die Ausgabe wird beendet, d.h. der Slurp sieht nur diesen tollen Satz. */
}
?>
An stelle von $_SERVER['HTTP_USER_AGENT'] könnte man vorher die IP ermitteln und wieder den Adressraum sperren.
<?php
$ip=getenv("REMOTE_ADDR");
if (preg_match("/76.6/",$ip)) {
echo "Hallo Inktomi, leider bist du hier nicht willkommen, also verzieh dich!";
exit ();
}
?>
Eine andere Methode für die, die Inktomi und damit auch Yahoo, HotBot, MSN... nicht gänzlich ausschliessen wollen ist die, Slurp ein wenig zu behindern. Inktomi bzw. Slurp unterstützen dieses Verfahren.$ip=getenv("REMOTE_ADDR");
if (preg_match("/76.6/",$ip)) {
echo "Hallo Inktomi, leider bist du hier nicht willkommen, also verzieh dich!";
exit ();
}
?>
Die Inktomi's Coupled Cluster Software Architektur ist wohl auch ein Kind von MSN. Wie oben beschrieben ist Inktomi geil auf einer robots.txt, von daher ist diese Methode vielversprechend. Einerseits den Traffic einzudämmen, die Statistiken nicht all zu sehr verfälschen, aber trotzdem nicht aus dem Index zu fliegen.
Per robots.txt:
Legt eine robots.txt an und ladet sie in den Root des Servers, also wo auch eure index.php oder .html liegt, vorher schreibt ihr natürlich folgenden Code:
User-Agent: Slurp
Crawl-Delay: 10
Hintergrund ist der, dass mit Crawl-Delay: 10 der nächste Seitenaufruf um 10 Sekunden verzögert wird.Crawl-Delay: 10
Was sind schon 10 Sekunden? Ich habe diesen Wert auf 36000 gesetzt, das sind 10 Stunden. Jedenfalls wirkt bei mir (noch) diese Maßnahme und Inktomi scheint sich echt daran zu halten.
Theoretisch müssten ja alles IPs nach 10 Stunden wieder auftauchen, tun sie aber nicht, beleidigt?. Ein mal am Tag verirrt sich Slurp mit vielleicht 3 verschiedenen IPs auf meiner Seite.
Ich hoffe, der Zustand bleibt noch, ansonsten werde ich Inktomi gänzlich verbannen ;-)
Hier bestünde auch die Möglichkeit, Inktomi und Slurp gänzlich auszuschließen:
User-agent: Slurp
Disallow: /
Disallow: /
Bisherige Kommentare: Kommentar schreiben»
Andreas schrieb am 20.12.2008
Du erwähnst zu Beginn gleich eine wichtige Sache, nämlich das Google einen Marktanteil von über 90% hat. Mit deiner robots.txt verschärfst du jedoch die Situation nur noch. Denn die anderen Sumas haben mit einem Crawl-delay von 10std. nun kaum eine Möglichkeit den Index aktuellen zu halten. Damit werden Yahoo und Co. für Benutzer nur uninteressanter.
200 Zugriffe pro Tag sind doch nicht viel. Da geht kein Server in die Knie.
BTW: Die Suchmaschinenbetreiber haben auch kein Interesse daran, unnötig Ressourcen zu verbrauchen. Ein crawl-delay von wenigen Sekunden reicht doch aus.
Du erwähnst zu Beginn gleich eine wichtige Sache, nämlich das Google einen Marktanteil von über 90% hat. Mit deiner robots.txt verschärfst du jedoch die Situation nur noch. Denn die anderen Sumas haben mit einem Crawl-delay von 10std. nun kaum eine Möglichkeit den Index aktuellen zu halten. Damit werden Yahoo und Co. für Benutzer nur uninteressanter.
200 Zugriffe pro Tag sind doch nicht viel. Da geht kein Server in die Knie.
BTW: Die Suchmaschinenbetreiber haben auch kein Interesse daran, unnötig Ressourcen zu verbrauchen. Ein crawl-delay von wenigen Sekunden reicht doch aus.
Mikesch schrieb am 21.12.2008
Es waren nicht nur 200 Zugriffe, eher 400 Tendenz steigend. Andere Sumas sind bis auf Yahoo, Lycos usw. nicht betroffen. Wenn die Serverleistung bei mir auch nicht all zu sehr darunter leidet, mich stören die Verfälschungen meiner Statistik. Immer noch scheint der Delay den Bot nicht zu stören und besucht meine Seite gut 5 mal/Tag. Der Bot müsste sich daran eigentlich nicht halten. Ein crawl-delay von wenigen Sekunden reichte eben nicht aus. Ich verstehe auch nicht, warum hunderte Zugriffe notwendig sein sollen um eine Seite vernünftig zu indexieren, muss Google ja auch nicht ;-)
Wenn ich mir die Indexierung meiner Seite bei Yahoo besehe, ist das scheinbar auch nicht notwendig.
Die Suchmaschinenbetreiber haben auch kein Interesse daran, unnötig Ressourcen zu verbrauchen.
Darum verstehe ich ja auch nicht, warum Inktomi so aktiv ist, das macht keinen Sinn. Jedenfalls spart er bei mir Arbeit ;-)
Jedenfalls habe ich durch meine Aktion bisher keine Nachteile bei Yahoo u. Co. und sie indexieren fleißig, auch ohne hunderte Bot-Durchgänge.
Wenn Google einen solchen Machtfaktor hat, hat das andere Gründe, aber nicht deshalb, dass Yahoo u. Co. einen nicht so umfangreichen Katalog hätten.
Es waren nicht nur 200 Zugriffe, eher 400 Tendenz steigend. Andere Sumas sind bis auf Yahoo, Lycos usw. nicht betroffen. Wenn die Serverleistung bei mir auch nicht all zu sehr darunter leidet, mich stören die Verfälschungen meiner Statistik. Immer noch scheint der Delay den Bot nicht zu stören und besucht meine Seite gut 5 mal/Tag. Der Bot müsste sich daran eigentlich nicht halten. Ein crawl-delay von wenigen Sekunden reichte eben nicht aus. Ich verstehe auch nicht, warum hunderte Zugriffe notwendig sein sollen um eine Seite vernünftig zu indexieren, muss Google ja auch nicht ;-)
Wenn ich mir die Indexierung meiner Seite bei Yahoo besehe, ist das scheinbar auch nicht notwendig.
Die Suchmaschinenbetreiber haben auch kein Interesse daran, unnötig Ressourcen zu verbrauchen.
Darum verstehe ich ja auch nicht, warum Inktomi so aktiv ist, das macht keinen Sinn. Jedenfalls spart er bei mir Arbeit ;-)
Jedenfalls habe ich durch meine Aktion bisher keine Nachteile bei Yahoo u. Co. und sie indexieren fleißig, auch ohne hunderte Bot-Durchgänge.
Wenn Google einen solchen Machtfaktor hat, hat das andere Gründe, aber nicht deshalb, dass Yahoo u. Co. einen nicht so umfangreichen Katalog hätten.
