HomeKontaktImpressum
Sie sind hier: Home

User-Agenten & .htaccess-Schutz

Crawler können nicht nur durch ihre IP-Adresse oder durch den Domainnamen, von dem die Zugriffe ausgehen, identifiziert werden. „Ehrliche” Bots senden mit jeder Anfrage an einen Webserver ihren persönlichen Browser-String, der ebenfalls eine Identifikation ermöglicht. Mit dieser Information lässt sich ein .htaccess-Schutz realisieren, der Zugriffe verhindert und einen Crawler damit aussperrt.

Bisher wurde zur Identifikation von Bots lediglich die IP-Adresse bzw. der Domainname verwendet. Da sich Bots aber normalerweise unter einem bezeichnenden Namen an den Webserver wenden, kann auch diese Information zur Filterung ungewollter Bot-Zugriffe heran gezogen werden. Immer vorausgesetzt, dass Bots auch ihren korrekten Namen angeben, bietet die Einrichtung eines Redirects eine weitere Methode Bots den Zugriff auf eine Internetseite zu verwähren. Folgendes Beispiel zeigt wie ein solcher Schutz umgesetzt werden kann:

# .htaccess-Schutz durch Redirect und Rückgabe des HTTP-Status 403
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_USER_AGENT} ^BadBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^eMail\ Harvester [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Website Cloner [NC]
RewriteRule ^.* - [F,L]

Mit der Anweisung RewriteEngine On wird die für die Umleitung nötige Rewrite-Engine aktiviert. Durch die Zeile Options +FollowSymlinks wird festgelegt, dass symbolische Links auf Dateien oder Verzeichnisse verfolgt werden und einen hierrüber verlinkte Datei ausgeliefert wird. Hier handelt es sich im Prinzip um Datei- bzw. Verzeichniseinträge im Filesystem des Webservers – ähnlich den Verknüpfungen zu Resourcen auf einem Desktopsystem –, die lediglich auf ein bestimmtes Ziel verweisen. Diese Option ist nur zu Sicherheit und für den Fall, dass solche Verweise existieren, aktiviert. In den meisten Fällen sollte diese Option überflüssig sein, da die meisten Webmaster alle Dateien und Verzeichnisse als „echte” Dateien per FTP-Programm auf den Webserver hochlanden.

Die darauf folgenden Zeilen legen mit RewriteCond die für eine Umleitung nötigen Bedingungen (conditions) fest. Dabei werden diese Bedingungen mit zwei Zusatzangaben parametrisiert: Und zwar mit NC für „No Case” – es wird nicht zwischen Groß- und Kleinschreibung unterschieden – und OR, womit ein logischer Operator (hier ein logisches Oder) zur Verknüpfung der einzelnen Bedingungen genutzt wird. Parameter stehen, falls diese überhaupt vorhanden sind, nach dem letzten Leerzeichen – womit die Komponenten voneinander getrennt werden – und werden durch die eckigen Klammern als solche ausgewiesen, wobei mehrere Parameter durch Kommata zu trennen sind. Bei der letzten Bedingung entfällt die Oder-Verknüpfung, da keine weiteren Fälle mehr folgen.

Hier soll also eine Umleitung erfolgen, wenn einer der angegebenen User-Agenten durch die angegebenen regulären Ausdrücke erkannt wird. Für die regulären Ausdrücke als Muster zur Erkennung des Browserstrings, gelten die Regeln zur Maskierung von Leerzeichen und Punkten (s. a. Serverseitige Browserweiche oder Komprimierung von Websites). Mit „^” ist der Beginn der Zeichenkette gemeint – fehlt dieses Zeichen am Anfang eines solchen User-Agent-Strings, so kann die als Bedingung angegebene Zeichenkette irgendwo im User-Agent vorkommen, damit die Bedingung zutrifft.

In der letzten Zeile im hier vorgestellten .htaccess-Schutz wird mit RewriteRule die Aktion – quasi die zu realisierende Umleitung – festgelegt, die folgen soll, wenn eine der Bedingungen gegeben ist. Die Zeichenkette „^.*” bezeichnet die aktuell angeforderte URL – regulärer Ausdruck für eine beliebige Zeichenkette –, die es umzuleiten gilt und mit „-” wird angegeben, dass es keine Ersatz-URL gibt, diese also beibehalten wird. Auch hier werden Parameter angegeben: Mit F, was für Forbidden (Zugriff Verweigert) steht, wird der durch den Response-Header zu versendende Status-Code festgelegt – entspricht in diesem Fall einem 403 – und mit L (Last Rule) wird angegeben, dass es sich um die letzte vom Webserver zu verarbeitende Regel handelt und die Verarbeitung damit als abgeschlossen gilt also keine weiteren Regeln folgen, die beachtet werden müssen.

Der hier beschriebene htaccess-Schutz setzt zu dessen korrekter Funktion voraus, dass die Clients (Bots) bei ihren Anfragen nicht schummeln. Gibt sich ein unerwünschter Crawler beispielsweise mit einem entsprechenden User-Agent-String als normaler Internet Explorer aus, so wird die angeforderte Internetseite wie gewohnt ausgeliefert. Man kann diesen Mechanismus also nur bei Bots nutzen, die „ehrlich” und „böse” zugleich sind – also nur bei ehrlichen Verbrechern.

Seite 3 von 3 | « [1][2] • [3] »
  
© 2009-2019 Möglichkeiten zur Steigerung von Geschwindigkeit und Usability Ihrer eigenen Website