Hallo oxo888oxo,
wie kann ich denn am besten unterscheiden, ob ein Request von einem Bot oder einem Menschen stammt?
Vielleicht war ich ja einfach nur blind, aber tatsächlich habe ich aus deinen bisherigen Beiträgen nicht herausgelesen, dass Du an dieser Stelle ein Problem hast.
Du hast mehrere Kriterien, um einen Bot von einem Menschen zu unterscheiden
- IP-Adresse
- Useragent-String
- Navigationsverhalten des Users
- Verhalten des Useragent
Alles hat seine Vor- und Nachteile.
Ich selbst habe nur Billigwebspace ohne Logfile-Zugriff. Deswegen weiß ich nicht, wie gut der Useragent-String zum Erkennen von Bots funktioniert. Allerdings sehe ich in den Statistiken, die der Hoster anbietet, dass eine MENGE Abrufe auf nicht existierende Seiten gemacht werden, und die nach Probing einer Wordpress-Installation aussehen. Solche Bots werden sich sicherlich nicht durch ihren Useragent-String als Bots zu erkennen geben.
Bei der IP-Adresse kann man davon ausgehen, dass Google, Bing oder Duckduckgo bekannte Adressen verwenden. Sicherlich gibt es dafür auch öffentliche Verzeichnisse. Bots, die bei Dir nach Sicherheitslücken suchen, werden andere IPs verwenden, gerne auch IP Adressen von Privatleuten, deren PC von einem Botnetz gekapert wurde.
Das Navigationsverhalten ist schwieriger auszuwerten. Hier kannst Du nicht mehr nur einzelne Anfragen betrachten, sondern musst einen Zeitraum analysieren. Wieviele Anfragen kommen binnen X Minuten von einer IP, und was tut die IP auf deiner Seite? Welche Seiten ruft sie ab? Ein normaler Browser kann nach der favicon.ico Datei suchen. Ein Crawler wird sehr schnell viele Abrufe hintereinander machen und ggf auch die robots.txt lesen wollen. Ein Security-Bohrer wird andere Abfragen machen - bei mir finde ich viele Abfragen auf typische Wordpress-Seiten wie wp-login.php oder wp-includes/wlwmanifest.xml. Da ich kein Wordpress betreibe, kann das nur eine Security-Probe sein.
Die Frage ist auch, woher die Abrufer deine nicht mehr gültigen Produktseiten haben. Gibt es dafür noch Suchmaschinentreffer? Das könntest Du durch Suchen dieser Produkte in gängigen Suchmaschinen ermitteln. Es kann aber auch sein, dass die Crawler von Idealo oder anderen Shopping-Trittbrettfahrern deine Seiten aufgezeichnet haben und die Leute jetzt zu Dir leiten. Das könnte man durch referer-Angaben herausfinden (wenn sie denn vom User zugelassen werden).
Eine geschickte Methode zur Erkennung von Bots könnte ein Pseudo-Captcha sein: Du baust eine 404-Seite, auf der Du Dich für den kaputten Link entschuldigst und erklärst, dass Du besser werden möchtest. Deshalb würdest Du gerne erfahren, von welcher Seite der 404-Besucher zu Dir gefunden hat. Darunter setzt Du ein paar Buttons für die vermutlich häufigsten Kandidaten (Google, Bing, Idealo, etc) und eine Zeile "Andere" mit einem Input-Feld. Von einem Menschen kannst Du Antwort bekommen, von einem Bot eher nicht. Und Du bekommst Auskunft, woher der Link kam. Du solltest dann noch einen Datenschutzhinweis vermerken, dass Du die getätigte Eingabe lediglich statisch erfassen und keine weiteren Daten dazu speichern würdest.
Rolf
sumpsi - posui - obstruxi