Sven Rautenberg: Offline Explorer verhindern!

Beitrag lesen

MoiN!

Hat jemand eine Idee, wie man diese teuflischen Programme überwinden kann? Es besteht die Möglichkeit PHP3/PHP4 und Perl auszuführen.

Das ist ein echtes Problem, denn wenn die Sauger rauskriegen, daß ihr "Offline Explorer" nicht mehr kriegt, was er will, dann tarnen die den möglicherweise als ganz was anderes.

Aber zunächst mal das naheliegende: URL-Rewriting (mod_rewrite) benutzen basierend auf dem User-Agent. Damit leitet man alle User-Agents, die auf ein gewisses Muster passen, auf eine Hinweisseite um, die wenig Traffic verursacht, und erklärt das Problem.

Vielleicht noch gleich mit dem Angebot, eine ZIP-Abbild eures Servers runterzuladen - dann tut's nicht mehr so weh auf der Rechnung.

http://httpd.apache.org/docs/mod/mod_rewrite.html
http://httpd.apache.org/docs/misc/rewriteguide.html

Das Problem tiefer anfassen tut man, wenn man die Verhaltensweise des jeweiligen Users genauer beleuchtet. Normale Surfer rufen immer mal wieder, aber mit unregelmäßigen Pausen, Seiten ab. Websauger rufen soviele Seiten wie möglich ab (wenngleich die Programme auch einen Server-Überlastschutz eingebaut haben).

Ein Ansatzpunkt wäre also, die Datenrate einfach zu drosseln. Die Sauger können dann nur noch langsam saugen. Für Apache gibts dazu ein Modul namens mod_bandwidth.

http://www.cohprog.com/mod_bandwidth.html

Vermutlich besser ist, wenn man dem normal surfenden User einfach gestattet, pro Minute ungefähr 10 Seiten abzurufen (inklusive zugehöriger Bilder), aber danach nur noch Leerseiten ausliefert (oder einen kleinen Hinweis dranmacht). Sowas erfordert dann natürlich Programmunterstützung, weil Seitenabrufe irgendwie geloggt werden müssen. Diese Geschichte ist sicherlich ziemlich aufwendig.

Ich stelle mir vor, daß alle Seiten bei einem Abruf die Session-ID in eine Datenbank schreiben und damit einen Zähler erhöhen. Die Seite prüft dann, ob ein Limit erreicht wurde, und verweigert im Zweifelsfall, selbst geladen zu werden. Nach einer gewissen Zeit wird der Zähler automatisch wieder verringert. Um das ganze auch sicher zu machen, müssen Zugriffe ohne Session-ID dann leider abgelehnt werden, sofern du nicht irgendwelche anderen Kriterien zur Identifikation des Users heranziehen kannst, wie User-Agent, IP etc. Da es ja nicht auf Datensicherheit ankommt, muß es keine ultimativ eindeutige Session-ID sein, sondern nur ein Hinweis, daß ein bestimmter User sich von anderen aktuellen Usern unterscheidet.

Wirklich seligmachend wird sich das Problem aber mit Sicherheit nicht lösen lassen - vor allem, wenn die Sauger viel Zeit und eine Flatrate haben.

- Sven Rautenberg