Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Eine kleine Robots Einführung für Neulinge ...

Alles zum Thema: Robots, Spider, Logfile-Auswertung und Reports
Gesperrt Gesperrt
bull
PostRank 9
PostRank 9
Beiträge: 2166
Registriert: 20.09.2003, 20:57
Wohnort: Vèneto

Beitrag von bull » 23.10.2004, 21:12

Eine kleine Einführung für Neulinge und die Beantwortung häufig aufkommender Fragen.
Der Artikel wird kontinuierlich überarbeitet.

1. Worum geht es hier eigentlich
Spiders, Robots und Crawler bezeichnen im Endeffekt dieselbe Sache, nämlich (halb-)automatische Programme, welche (in der Regel) via HTTP oder ftp Dateien von einem Server herunterladen und lokal speichern. Dabei wird das Heruntergeladene lokal beim Betreiber des Roboters gespeichert, aber nicht angezeigt. Neben der Identifizierung und Zuordnung von Robotern geht es hier auch darum, das Verhalten derselben zu analysieren und Roboter eventuell auszusperren.

2. Gibt es gute und böse Roboter?
Der Begriff des Roboters ist ein ganz allgemeiner. Suchmaschinen setzen vollautomatische Roboter ein, um das Internet zu indizieren. Andere Roboter suchen nach Copyrightverletzungen, andere sammeln e-mail-Adressen, um diese anschließend mit Spam zu beglücken. Halbautomatische Offline-Browser machen nach Wunsch ihres Benutzers ein Abbild eines Teils oder einer ganzen Webseite auf der lokalen Festplatte.

3. Wie erkenne ich Roboter?
Nahezu alle Suchmaschinenroboter identifizieren sich als solche; zu diesem Zweck haben wir eine Zusammenstellung der wichtigsten Exemplare hier als Sticky herausgebracht. Die meisten Statistikprogramme besitzen vorgefertigte Roboterlisten und differenzieren zwischen menschlichen Benutzern und Robotern. Roboterlisten bedürfen allerdings einer stetigen Aktualisierung, da täglich neue Exemplare auftauchen.
Eine sehr präzise, wenn auch nicht hundertprozentige Möglichkeit, unbekannte oder neue Roboter zu identifizieren, kann man sich allerdings nicht auf Statistikprogramme verlassen, sondern muß auf sogenannte "raw logs" zurückgreifen. In diesen Logs ist jeder Zugriff (je nach Konfiguration) auf eine Domain oder einen ganzen Server mit detaillierten Informationen verzeichnet. Beim Anbieter 1und1 sind diese Logs bereits bei den billigen Tarifen im Ordner /logs/ untergebracht. Dort findet man Dateien nach dem Muster access.log.xx.y, wobei xx die Kalenderwoche und y den Wochentag bezeichnet. Dabei handelt es sich um eine reine Textdatei. Die Logs der Vorwochen sind bei 1und1 gezippt und heißen access.log.xx.gz usw, genauso die der Vortage. Die Logs werden z.B. bei 1und1 minütlich aktualisiert und sind im sogenannten "Combined Log Format" gehalten, dessen Doku man unter https://httpsd.apache.org/docs/logs.html#combined (auch weiter oben auf der Seite lesen!) findet und deren Lektüre zum Verständnis erforderlich ist.
Basiert der Server nicht auf Apache, sondern auf Microsoft IIS, so sind die Logs in einem anderen Format gehalten.
Basiert der Server auf Apache und stellt Ihr Anbieter dennoch keine "raw logs" zur Verfügung, so sollten Sie ihn wechseln. Einen detaillierten Zugriff, was auf Ihrer Seite tatsächlich passiert, haben Sie ansonsten nicht. "raw logs" sind auch hilfreich, um den Weg von Benutzern auf einer Seite zu verfolgen und u.U. entsprechend mit einer Änderung der Navigationsstruktur bei offenbar werdenden Mängeln zu reagieren. Bei wachsenden Benutzerzahlen werden "raw logs" naturgemäß schnell groß und unhandlich.

4. Ein paar Beispiele von Robotern
Unter ernstzunehmenden Suchmaschinen gilt, daß sich Roboter als solche identifizieren. Das Protokoll HTTP sieht ein Feld für einen sog. User-agent vor (siehe auch 3.). Browser wie Roboter senden eine solche Zeichenfolge an den Server. Bei Googlebot lautet der User-agent z.B.

Code: Alles auswählen

Googlebot/2.1 (+http://www.google.com/bot.html)
(Dies ist eine von drei bekannten Varianten). Hier wird also zusätzlich eine URL angegeben, unter der weitere Informationen über den Roboter abgerufen werden können

Code: Alles auswählen

Yahoo-MMCrawler/3.x (mms dash mmcrawler dash support at yahoo dash inc dot com)
ist der User-agent des Roboters von Yahoo!, der Bilder, Video- und Audiodateien lädt, aber kein HTML. Hier wird eine kodierte e-mail-Adresse im User-agent angegeben, an die man sich bei Problemen wenden kann.

Code: Alles auswählen

sohu-search
ist - ja, was auch immer. Dem Webmaster werden keine weiteren Informationen zur Verfügung stellt. Ob tatsächlich eine Suchmaschine dahintersteckt, kann niemand belegen.
Bisweilen wird auch von Suchmaschinenrobotern - wie Mirago - ein Referer angegeben, was an sich nicht notwendig ist.

5. Warum wird auf eine Datei robots.txt bei mir zugegriffen?
Mit einer reinen Textdatei namens robots.txt, die im Stammverzeichnis unterzubringen ist, kann gut erzogenen Robotern mitgeteilt werden, welche Dateien sie laden dürfen und welche nicht. Für genauere Informationen siehe www.robotstxt.org . Kurz gefaßt kann durch die Einfügung von Zeilen nach dem Muster

Code: Alles auswählen

User-agent: Robotername
Disallow: /Verzeichnisname/
kann der Roboter davon abgehalten werden, Dateien aus dem angegebenen Verzeichnis zu laden. Weitere Verzeichnisse sind in weiteren Zeilen anzugeben. Soll der Roboter gar nichts laden, so ist

Code: Alles auswählen

Disallow: /
anzugeben.
Ein guter Einstieg ist natürlich auch www.abakus-internet-marketing.de/robots.txt . Ist eine robots.txt etwas länger, sollte man sie sicherheitshalber validieren, z.B. mit dem SearchengineWorld robots.txt validator, handelt es sich doch bei robots.txt um einen kritischen Bestandteil, der, sofern er fehlerhaft ist, auch zu Problemen mit Suchmaschinen-Robots führen kann.
Wollen Sie, aus welchen Gründen auch immer, alle Roboter, also auch Suchmaschinen, von Ihrer Seite aussperren, dann geben Sie in Ihrer robots.txt

Code: Alles auswählen

User-agent: *
Disallow: /
ein.

6. Wie können gute von bösen Robotern unterschieden werden?
Allgemein gilt, daß das Laden (notwendigerweise) und die Beachtung von robots.txt ebenso zum guten Ton gehört wie das Anbieten einer Kontaktadresse im User-agent. Ansonsten kann nicht festgestellt werden, welchem Zweck der Roboter dient. Im Zweifelsfalle sperren viele Webmaster solche Roboter mit anderen Mitteln als robots.txt aus. E-mail-Sammler und Gästebuchspammer laden naturgemäß keine robots.txt

7. Soll ich Offline-Browser wie Teleport, HTTrack usw. aussperren?
Das kommt auf den eigenen Standpunkt an. Generell kann jemand, der eine genaue Spiegelung einer Webseite vornimmt, über deren Inhalt unabhängig vom Erzeuger verfügen und ihn beispielsweise unter anderem Namen selbst anbieten. Manche webmaster (darunter auch der Verfasser) vertreten zudem den Standpunkt, daß Webseiten zum Anschauen in einem "echten" Browser da sind und daß Offline-Browser nur unnötigen Datentransfer erzeugen - besonders dann, wenn AdSense-Anzeigen geschaltet werden. Beliebt sind u.a. folgende Offline-Browser:
HTTrack, Website Copier, Website Downloader, Teleport Pro, Wget.
Der Verfasser hat sich zudem entschlossen, bei bestimmten ausländischen Internetzugangsanbietern, bei denen häufig der Einsatz von Offline-Browsern vorkommt, zunächst eine entsprechende Warnungsseite anzuzeigen, was sich bislang als 100% wirksam erwiesen hat.

8. Wie können Roboter, die keine robots.txt beachten, ausgesperrt werden?
Unter der Voraussetzung, daß Ihr Server unter Apache läuft, gibt es die Möglichkeit, in einer Textdatei .htaccess (korrekte Schreibweise!) im Stammverzeichnis Anweisungen unterzubringen, die u.a.
- bestimmte IP-Bereiche
- bestimmte User-agents
von der Benutzung eines Webspace oder Server ausschließen. Für eine Sperre basierend auf User-agent und/oder Referer ist bei Apache ein Zusatzmodul namens mod_rewrite erforderlich. Ihr Anbieter hat keine Unterstützung für .htaccess mit mod_rewrite? Wechseln Sie in einen anderen Tarif oder den Anbieter!

Sperren von IP-Bereichen
Kommen unerwünschte Zugriffe immer aus demselben IP-Block, so kann dieser einfach gesperrt werden:

Code: Alles auswählen

oder allow,deny
deny from 111.222.234.
sperrt 111.222.234.0 bis 111.222.234.255 . Handelt es sich beim "Besitzer" des IP-Blocks um einen Internetzugangsanbieter wie z.B. T-Online, werden naturgemäß auch unschuldige Benutzer ausgesperrt.

Sperren nach User-agent
Für das Sperren eines bestimmten User-agent ist mod_rewrite erforderlich. Um bespielsweise den Adreßsammler "EmailWolf" zu sperren:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf
RewriteRule ^.*$ - [F] 
Das Caret-Zeichen ^ in der Bedingung (RewriteCond) deutet an, daß der User-agent mit EmailWolf beginnen muß. "testEmailWolf" würde also nicht gesperrt werden.
Die Regel (RewriteRule) bewirkt, daß für alle Dateien (^.*$) der HTTP-Rückgabewert 403 (Access denied) - Zugriff verweigert - zurückgegeben wird. Ein Laden von Daten mit diesem User-agent ist also nicht möglich. (Um auch den nicht existierenden testEmailWolf zu sperren, müßte das Caret weggelassen werden. Für weitere, mit [OR] verknüpfte Regeln siehe den umfangreichen Faden Email harvester und unerwünschte Bots mit .htaccess sperren. Bei Leerzeichen, -, / usw. in Bedinungen und Regeln ist zu beachten, daß diese Sonderzeichen "escaped" werden, also mit einem führenden Backslash versehen werden müssen ( \/ , \-, \ , ...). Für eine vollständige Dokumentation von mod_rewrite siehe https://httpsd.apache.org/docs/mod/mod_rewrite.html .

9. Roboter, die sich nicht als solche identifizieren
Manche Roboter identifizieren sich als Browser und senden einen entsprechenden User-agent wie z.B.

Code: Alles auswählen

Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
Sie sind also auf den ersten Blick nicht als Roboter zu erkennen. Hier hat also jemand etwas zu verbergen, und Vorsicht ist geboten. In diesem Falle kann man nur nach IP-Adressen sperren.
Indikatoren für verdeckt arbeitende Spider sind:
- hohe Zugriffsgeschwindigkeit mit mehreren Anfragen pro Sekunde
- Laden nur von HTML-Dateien und keinen Bildern
- das Verfolgen versteckter Links
Man achte auch insbesondere darauf, ob bei scheinbar echten Browser-Identifikationen dem Programmierer des Spiders nicht ein Fehler unterlaufen ist - fehlende Leerzeichen, Strichpunkte, Klammern.
Unser Mitglied robo hat verdienstvollerweise eine kleine Liste zusammengestellt, die man selbst auf die entsprechenden Fehler der User-agents untersuchen sollte:
Mozilla/4.0 (compatible; MSIE 5.00; Windows 98
Mozilla/4.0 (compatible ; MSIE 6.0; Windows NT 5.1)
Mozilla/4.0(compatible; MSIE 5.0; Windows 98; DigExt)
Besten Dank für diese Hinweise!

10. Lesen Roboter JavaScript, Java, Flash?
In der Regel nicht. "Googlebot/Test" allerdings hat Anfang 2004 JavaScript geladen und wahrscheinlich auch interpretiert, und der reguläre Googlebot erkennt neben PDF, PPT, DOC, RTF usw. - Dateien mittlerweile auch teilweise Flash. Anfang 2004 entdeckte ich neben einem als Internet Explorer maskierten Roboter einen User-agent "JScript Processor" in meinen Logs, der tatsächlich JavaScript ausführte.

11. Kann man verdeckt operierende Spider aussperren?
Auf WebmasterWorld.com wurde vor einiger Zeit ein Skript in Perl oder PHP vorgestellt, das es erlaubte, teilweise sich nicht korrekt identifizierende Spider zu sperren. Aus urheberrechtlichen Gründen wird das "bad bot script" hier nicht reproduziert, allerdings das Konzept vorgestellt. Mittel einer entsprechenden Suche kann bei WebmasterWorld das Skript schnell aufgefunden werden. Mit einem 1x1 pixel großen, transparenten GIF-Bild wird ein versteckter Link auf ein Skript erzeugt, das mittels

Code: Alles auswählen

User-agent: *
Disallow: /pfad/botscript.php
für gut erzogene Roboter gesperrt ist. Für menschliche Benutzer wird der Link nicht dargestellt und ist also nur für (halb-)automatische Programme zu erkennen und zu verfolgen. Wird /pfad/botscript.php dennoch aufgerufen, so schreibt das Skript in die bereits erwähnte .htaccess eine Zeile mit

Code: Alles auswählen

deny from 123.123.123.123
mit der IP-Adresse des Verursachers, die daraufhin gesperrt ist. Der Nachteil ist offenbar: Von Zeit zu Zeit muß die .htaccess aufgeräumt werden, um nicht dauerhaft unschuldige Benutzer zu sperren, und eine Nachanalyse der IP-Adressen ist erforderlich.

12. IP-Adressen
IP-Adressen sind in Blöcken Providern, Unternehmen oder Hostern zugeordnet. Auf www.samspade.org kann mittels "IP Whois" herausgefunden werden, um wen es sich handelt. Ob ein IP-Block oder eine Einzeladresse dauerhaft gesperrt wird, kann dann von Fall zu Fall entschieden werden.

14. In meinen Logs tauchen Referer von Seiten auf, die aber gar nicht auf mich linken
Es handelt sich um sogenanntes Logspamming. In der Regel ist auch nur ein Zugriff in den Logs zu verzeichnen. Der Logspammer setzt zum einen darauf, daß Sie selbst die betreffende Seite ansehen, zum anderen darauf, daß Ihre Logs oder Ihre Statistiken in Suchmaschinen indiziert sind. Daß dies bei vielen Seiten unverständlicherweise der Fall ist, belegt eine einfache Suche. Ist dies der Fall, wird u.U. der vermeintliche Referer als Link gewertet.

15. Roboter und das ODP
Viele Roboter von Suchmaschinen wie auch Logspammer und Adreßsammler nutzen das bislang quantitativ umfangreichste und qualitativ wohl beste Verzeichnis ODP aus eben diesen Gründen als Ausgangspunkt ihres Spiderns.

16. Ich bekomme Zugriffe von Mozilla/4.0 (compatible;). Sind das Roboter?
Wahrscheinlich nicht. Die User-agents

Code: Alles auswählen

Mozilla/3.01 (compatible;)
Mozilla/4.0 (compatible;)
werden in der Regel von Proxy-Servern verwendet, die überprüfen, ob sich am Inhalt der Seite etwas geändert hat, nachdem ein Benutzer des Proxy die Seite vorher regulär besucht hatte. AOL Proxies geben bedauerlicherweise keinen User-agent an.
Hinweis:
Wie bei MSIE-Kennungen muß auch hier genau aufgepaßt werden.

Code: Alles auswählen

Mozilla/4.0+(compatible;)
Mozilla/4.0 (compatible)
werden durchaus, wie ich empirisch feststellen konnte, nicht von Proxies, sondern Robotern unbekannter Natur verwendet.
Zuletzt geändert von bull am 03.11.2004, 13:19, insgesamt 6-mal geändert.