amalesh
15.03.2008, 18:34 |
Cache-Datei statt .htaccess? (Allgemeines) |
Hallo allerseits!
Habe heute erst von Spider-Trap erfahren und noch nichts installiert. Es sieht so aus, als wenn es endlich ein lästiges Problem lösen könnte.
Bevor ich Spider-Trap installiere, wollte ich euch meinen Server schildern und eure Meinung dazu einholen.
Einleitung: Auf meinen Server http://www.goatrance.de/goabase/ gibt es täglich ca. 30.000 visits, die im Schnitt knapp unter 300.000 pages aufrufen (Zahlen von Webalizer). Dahinter steckt eine über 11 Jahre entwickelte PHP-Anwendung (ja, ich startete mit PHP/FI), die auf eine 800 MB grosse Mysql-DB mit rund 110(!) SQL-Statements pro Sekunde(!) zurückgreift. Das ganze läuft auf einem gesponsorten Dual-Core-Server mit eAccelerator und ist weitestgehend werbefrei (nur Non-Member sehen Google-Ads). Zu Spitzenzeiten und besonders dann, wenn Bots unterwegs sind, geht der Server ziemlich in die Knie (load average von über 20, normal sind um die 6). Andere Server mit dieser Last würden inzwischen auf eine Server-Farm wechseln...
Aus diesem Grunde achte ich auf jede Kleinigkeit, die die Performance beeinträchtigen könnte und habe daher alle .htacces-Anweisungen direkt in die apache.conf gepackt. Denn andernfalls würde Apache ja bei jedem Request erst die .htaccess lesen, das analysieren und somit wieder den Server bremsen.
Vor ein paar Tagen habe ich nun mit einer einfachen IP-Sperre angefangen, die direkt von der zentral gestarteten PHP-Datei meiner Anwendung durchgeführt wird. Basis ist eine Cache-Datei, in der zeilenweise die zu sperrenden IPs stehen. Nicht berücksichtigt werden dabei natürlich alle img-Requests, aber das ist auch OK.
Meine Vermutung ist nun, dass der Weg über das kompilierte PHP schneller ist, als wenn Apache erst jeden Request (ca. 5-6 mal soviele) gegen eine .htaccess prüfen würde.
Meine Fragen: Meint ihr auch, dass eine von PHP durchgeführte Sperre auf Basis einer Cache-Datei schneller ist? Wenn ja, wie aufwendig wäre es, Spider-Trap statt einer .htaccess das Schreiben dieser Cache-Datei beizubringen?
TIA, amalesh |
JR-EWING
15.03.2008, 20:28
|
Cache-Datei statt .htaccess? |
Hallo,
eigentlich kann das Spider Trap schon 
es schreibt ja die ganzen Sperren auch in die blacklist.txt
Sprich mann müsste bloß eine Sperre bei dir einbauen, die ja momentan über die htaccess gelöst wird.
Ich geh jetzt mal davon aus dass du dich in PHP ein bisserl auskennst - so was du so geschrieben hast.
Also einfach die functions.php includieren und dann die Funktion isBlacklisted aufrufen. Die gibt dir zurück ob Sie auf deiner Bad Bot Liste steht. Wenn die IP draufsteht einfach mit exit; verlassen oder einfach per header location irgendwohin umleiten.
Schau dir einfach mal die Funktionen in der functions.php an.
Gruß Tom Suche noch Programmierer für das Spider Trap Team, die mir helfen die Software weiterzuentwickeln.
|
amalesh
16.03.2008, 00:44
|
Cache-Datei statt .htaccess? |
Hi Tom,
alles klar, vielen Dank für die Infos. Werde das dann mal einsetzen, komme vermutlich aber erst nach Ostern dazu.
Seit zwei, drei Tagen gibt es wohl wieder eine Spider- oder Spam-Bot-Welle, jedenfalls haben sich die Visits auf über 60.000 / Tag mehr als verdoppelt.
LG, amalesh |
amalesh
11.04.2008, 10:32
|
Cache-Datei statt .htaccess? |
» alles klar, vielen Dank für die Infos. Werde das dann mal einsetzen, komme
» vermutlich aber erst nach Ostern dazu.
Hat etwas gedauert, aber nun ist die Falle ativ. Und sie arbeitet absolut hervorragend, bin voll begeistert, welche spider sie schon alles gefangen hat:
http://www.goatrance.de/4bots/files/blacklist.txt
Man sieht auch sehr gut, dass es eine spider-welle am 10.04. ab 13:24 gab - und genau die haben meine site immer immens ausgebremst.
Umgebaut habe ich spider-trab nur in der form, dass die blacklist.txt direkt von meinem startscript ausgewertet wird, statt jeden request via .htaccess prüfen zu lassen. Brutto hat so der server weniger zu tun. |