





















| ||||
Nicht nur Suchmaschinen durchsuchen Ihr Internetportal nach interessanten Daten, auch Rechner von Privatleuten oder Firmen bedenen sich gerne fremden Datensätze. Auf vielen Portalen wird es auch einem sehr leicht gemacht, die benötigten Daten automatisch auszulesen. Wenn eine Seite z.B. eine Detailseite z:b: von Adressen hat, und in der URL jeder Adresse einfach nur z.B. eine ID=xyz angeben ist, dann kann ein Script diese URL mit durchzählender ID so oft aufrufen, bis man alle Daten eingelesen hat. Aber selbst diese Methode bietet keinen sicheren Schutz, wenn es Seiten gibt, die Listen mit Links zu diesen URL beinhalten. Was kann man dagegen tun? · Einfachste Möglichkeit: Die IDs sind nicht fortlaufend (1,2,3,4,5,6,...) sondern mit unterschiedlichen Abständen (1,2,8,15,22,24,30,...), noch besser wenn wahllose Zeichenkombinationen (a5d34,df66ea,62823,cce5f,...) verwendet werden. Eine weiter Möglichkeit besteht darin, die URL nicht mit Get-Daten (detal.php?id=a5d34) zu versehen, sondern eine Ordnerstruktur zu verwenden: /detail/a5d34/ oder andere komplexere Ordnerstrukturen. · Und eine komplexe Möglichkeit: Das Surfverhalten der Besucher beobachten und auswerten. Vorgehensweise: Schritt 1: unterscheiden ob der Besucher ein Mensch oder ein Roboter ist. Bei den Robotern können die meisten gleich geblockt werden, was man schnell in seinen Log-Dateien erkennen kann. Die effektivste Art Roboter zu blockieren beststeht darin, eine Liste zu erstellen die die Roboter enthält die zugreifen dürfen. Es reicht im Normalfall völlig aus die drei größten Suchmaschinen den Zugriff auf den Seiten zu gewähren. Schritt 2: Relevante Daten der Besucher (ohne Roboter) in einer Datenbank speichern. IP-Adresse des Users und Timestamp im Unix-Format, zusätzlich können noch weitere Werte gespeichert werden wie z.B. Seite, Session usw, für eine erweiterte Auswertung. Jetzt kann man einfach in der DB nachschauen, ob der aktuelle Users in einer Zeitspanne zuviele Seiten aufgerufen hat. Einfaches Beispiel: Folgende Bedingung soll erfüllt sein: mehr als 1000 Seiten in der letzten halben Stunde. $time=time()-1800; $resulct=mysql_query( "select `irgendwas` from statistik where `ip`='$ip' and `time`>'$time'" ); if (mysql_num_rows($result)>1000) {exit;} Diese Zeilen natürlich ganz am Anfang der Seite setzen, und anstatt nur ein "exit" kann mann natürlich auch anderen Code ausführen. Fertig ist die Blockierung von unbekannten Rechnern die Daten klauen. Weiterhin bestehen folgende Möglichkeiten: · IP-Adressen filtern · Hostnamen filtern · Useragenten filtern | ||||




| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
