Guten Abend,
ich beschäftige mich seit einiger Zeit mit der Problematik, dass Websites von (relativ einfach geschriebenen) Crawlern bzw. Spidern kopiert werden, dann anschließend das Design verändert wird und schließlich die Inhalte auf neue Domains hochgeladen werden, wo man die Inhalte letztenendes vor lauter Werbung gar nicht mehr sehen kann. Da rechtliche Maßnahmen gegen solche "Angriffe" leider sehr aufwendig sind, möchte ich technische Schutzmaßnahmen implementieren. Natürlich ist mir bewusst, dass es in diesem Bereich keine 100%-sichere Technik geben kann. Da die meisten dieser Bot-Programmierer jedoch erfahrungsgemäß über einen relativ niedrigen Wissensstand verfügen oder ihre Systeme sehr einfach halten und auf Klasse statt Masse setzen, sollte es mit genügend Rafinesse durchaus möglich sein, derartige Probleme wesentlich zu minimieren.
Im folgenden werde ich nun mein bisher erarbeitetes Konzept vorstellen:
Requests welche keinen User-Agent und keinen Accept-Header beinhalten werden sofort abgelehnt, da normale Browser sowie jeder qualitativ hochwertige Bot diese Header mitsendet.
IPs die bereits mehr als x (5 < x < 30) Requests innerhalb von 5 Minuten absenden und keine Cookies akzeptieren, müssen in unregelmäßigen (ca. alle 20-100) Requests ein Captcha abtippen. Des Weiteren sind für Clients die keine Cookies akzeptieren nicht mehr als 30 Requests pro 10 Minuten zulässig. Sinnvoll wäre es an dieser Stelle sicher auch, zu betrachten, wie konstant Requests von diesem Client auftreffen. (Normale Nutzer besuchen manche Seiten, wie etwa Übersichten, öfters, wohingegen Bots dies nur tun, wenn Sie speziell darauf programmiert werden.). Auch wenn relativ wenige Requests über einen langen Zeitraum relativ konstant auftreffen, d.h. etwa auch mitten in der Nacht wäre dies ein Sperrgrund, wobei natürlich kein User gesperrt werden sollte, der zufällig nachts um drei vorbeischaut. Für die Betrachtung eines größeren Zeitraums habe ich bisher leider keine brauchbaren Ansätze, weswegen ich hier auf die php.de-Community setze
Da der Googlebot natürlich unbedingt von diesen Aktionen ausgeschlossen bleiben muss, überprüfe ich über DNS, ob der Request von *.googlebot.com kommt.
Weitere Ansätze oder anderweitige Anregungen sind erwünscht!
ich beschäftige mich seit einiger Zeit mit der Problematik, dass Websites von (relativ einfach geschriebenen) Crawlern bzw. Spidern kopiert werden, dann anschließend das Design verändert wird und schließlich die Inhalte auf neue Domains hochgeladen werden, wo man die Inhalte letztenendes vor lauter Werbung gar nicht mehr sehen kann. Da rechtliche Maßnahmen gegen solche "Angriffe" leider sehr aufwendig sind, möchte ich technische Schutzmaßnahmen implementieren. Natürlich ist mir bewusst, dass es in diesem Bereich keine 100%-sichere Technik geben kann. Da die meisten dieser Bot-Programmierer jedoch erfahrungsgemäß über einen relativ niedrigen Wissensstand verfügen oder ihre Systeme sehr einfach halten und auf Klasse statt Masse setzen, sollte es mit genügend Rafinesse durchaus möglich sein, derartige Probleme wesentlich zu minimieren.
Im folgenden werde ich nun mein bisher erarbeitetes Konzept vorstellen:
Requests welche keinen User-Agent und keinen Accept-Header beinhalten werden sofort abgelehnt, da normale Browser sowie jeder qualitativ hochwertige Bot diese Header mitsendet.
IPs die bereits mehr als x (5 < x < 30) Requests innerhalb von 5 Minuten absenden und keine Cookies akzeptieren, müssen in unregelmäßigen (ca. alle 20-100) Requests ein Captcha abtippen. Des Weiteren sind für Clients die keine Cookies akzeptieren nicht mehr als 30 Requests pro 10 Minuten zulässig. Sinnvoll wäre es an dieser Stelle sicher auch, zu betrachten, wie konstant Requests von diesem Client auftreffen. (Normale Nutzer besuchen manche Seiten, wie etwa Übersichten, öfters, wohingegen Bots dies nur tun, wenn Sie speziell darauf programmiert werden.). Auch wenn relativ wenige Requests über einen langen Zeitraum relativ konstant auftreffen, d.h. etwa auch mitten in der Nacht wäre dies ein Sperrgrund, wobei natürlich kein User gesperrt werden sollte, der zufällig nachts um drei vorbeischaut. Für die Betrachtung eines größeren Zeitraums habe ich bisher leider keine brauchbaren Ansätze, weswegen ich hier auf die php.de-Community setze
Da der Googlebot natürlich unbedingt von diesen Aktionen ausgeschlossen bleiben muss, überprüfe ich über DNS, ob der Request von *.googlebot.com kommt.
Weitere Ansätze oder anderweitige Anregungen sind erwünscht!
Kommentar