Ich habe eine Website, die aus regulatorischen Gründen möglicherweise nicht automatisch indiziert oder durchsucht wird. Dies bedeutet, dass wir alle Roboter fernhalten und verhindern müssen, dass sie die Site spinnen.
Offensichtlich hatten wir eine robots.txt-Datei, die von Anfang an nicht erlaubt ist. Das Beobachten der robots.txt-Datei ist jedoch etwas, was nur gut erzogene Roboter tun. Vor kurzem hatten wir einige Probleme mit weniger gut erzogenen Robotern. Ich habe Apache so konfiguriert, dass einige Benutzeragenten gesperrt werden, aber es ist ziemlich einfach, das zu umgehen.
Die Frage ist also, gibt es eine Möglichkeit, Apache zu konfigurieren (möglicherweise durch Installation eines Moduls?), Um roboterähnliches Verhalten zu erkennen und zu reagieren. Irgendwelche anderen Ideen?
Im Moment kann ich nur IP-Adressen verbieten, die auf einer manuellen Überprüfung der Protokolle basieren, und das ist einfach keine praktikable langfristige Strategie.
Antworten:
Sie können auf eine versteckte Seite verlinken, die beim Besuch den Benutzeragenten und die IP-Adresse des Bots erfasst und dann einen oder beide an eine .htaccess-Datei anfügt, die sie dauerhaft blockiert. Es ist automatisiert, sodass Sie nichts tun müssen, um es zu warten.
quelle
Mithilfe eines Apache-Moduls, das mit der IP-Blacklist von Project Honeypot verbunden ist , können Sie die Arbeit anderer Personen bei der Identifizierung fehlerhafter IPs huckepack nehmen . Wenn Sie dies in großem Maßstab tun, wäre es wahrscheinlich höflich, einen Honeypot zu betreiben.
quelle
Wie Gisle Hannemyr in einem Kommentar erwähnt hat , ist es am besten, Anmeldungen aller Benutzer zu verlangen und den eingeschränkten Inhalt nicht an Personen weiterzugeben , die nicht angemeldet sind.
Wenn Sie aus irgendeinem Grund keine Anmeldung benötigen, können Sie dennoch einige Fallbacks verwenden (Haftungsausschluss: Beide sind entweder teilweise oder vollständig meine Schuld):
Der OWASP ModSecurity-Kernregelsatz enthält eine Reihe von Regeln zur Erkennung der Automatisierung, selbst wenn der Bot Schritte unternommen hat, um sich als Browser zu tarnen (z. B. Fälschung seiner User-Agent-Zeichenfolge). Wenn Sie die volle Kontrolle über Ihren Server haben, z. B. einen VPS, einen dedizierten Server oder etwas Größeres , können Sie diese Regeln mit ModSecurity verwenden .
Dieser Regelsatz enthält auch andere Regeln, mit denen eine Vielzahl unangemessener Aktivitäten gestoppt werden soll. Wenn Sie es nicht angeschaut haben, sollten Sie es auf jeden Fall tun.
Wenn Sie nicht die volle Kontrolle über Ihren Server haben (dh Sie haben ein gemeinsames Webhosting) und Ihr Host Ihnen nicht erlaubt, Ihre eigenen ModSecurity-Regeln zu verwenden, können Sie auf Anwendungsebene etwas ausprobieren, z. B. mein eigenes Bad Verhalten . Ich habe dieses Projekt im Jahr 2005 gestartet, um Blog-Spam und Content-Scraper wie die, die Sie betreffen, zu bekämpfen. Es kann zu jeder PHP-basierten Website hinzugefügt werden.
Ich sollte auch beachten, dass viele der Regeln von Bad Behaviour in den ModSecurity Core Rule Set aufgenommen wurden. Solange Sie diese Regeln aktiviert haben, wäre es ziemlich redundant, beide Regeln auszuführen. Diese Regeln werden im Kernregelsatz als aus schlechtem Verhalten stammend kommentiert.
quelle