IP-Sperre

S

susi19

Hallo!

Ich habe da ein Problemchen mit meinem G-Buch.
Das hat nun ein Spammer, oder sein Roboter gefunden :-)
Das fiese Ding kann einscheinend auch automatisch Rechenaufgaben erledigen.
Nun habe ich versucht die Absender IP, welche ich aus den LogFiles geangelt habe mittels .htaccess zu sperren:
order allow,deny
deny from xx.xxx.xxx.xxx
allow from all

Funktioniert aber nicht.

Das G-Buch hat eine IP-Sperre für 60 Minuten, die auch greift. Die Zeit ließe sich wohl nach oben korrigieren, aber was ist, wenn auch mal ein Mensch mehr zu sagen hat? Der soll doch nicht ein Jahr warten, bis er wieder dran ist.

Dann habe ich das versucht: if ($_SERVER['REMOTE_ADDR']=="xx.xxx.xxx.xx") die;
Verursacht nur einen Fehler.

Ich suche nach einer Php-Lösung, mit der ich dauerhaft die IP aus Russlandhausen sperren kann, die unabhängig vom G-Buch Script gleich als erstes die bösen Buben blockt.

Den Lümmel habe ich schon unter http://www.stopforumspam.com/ gefunden.
Super wäre es, wenn jemand eine Idee hätte, wie man die ganze Liste von Ip´s leicht einbauen und ergänzen kann.

Ich bin ratlos. Sonst hat es immer ganz gut mit der .htaccess funktioniert.


Logfile Auszug für Interessierte:

xx.xxx.x.xxx - - [22/Oct/2010:09:34:35 +0200] "GET / HTTP/1.1" 200 3813 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
 
Dann ist dein Captcha zu schwach. Eventuell wäre es besser hier anzusetzen und ihn zu verbessern.
 
Wie funktioniert deine Rechenaufgabe?

Ich habe es folgendermaßen gemacht: Die beiden Zahlen und die Operatoren (+-/*) als Bilder dargestellt. Die Bildnamen dürfen nicht auf die Bezeichnung der Zahl/Operatoren hinweisen. Das Ergebnis der Rechnung übermittle ich per hidden Field und doppelt md5-hashed an die folgende Seite. Dort vergleiche ich Eingabe mit Hash.

Ich war früher auch von Bots geplagt - seit ich diesen Lösungsansatz gewählt habe, habe ich keinerlei Probleme mehr.

VG,
Maeg
 
Das Ergebnis, egal wie verschleiert, mitzuschicken entspricht dem Prinzip des Security through abscurity. Wenn der Angreifer weiß, wie die Berechnung funktioniert, hat er wieder freie Hand.

Und Aussagen wie "Da kommt niemand drauf" würde ich so nicht gelten lassen, habe da schon einige Erfahrungen damit gemacht ;) Sobald du das Ergebnis irgendwie im Quelltext stehen hast, kann der Bot das raus-parsen und interpretieren, vorausgesetzt das Interesse an der Seite ist entsprechend hoch.

Mein Tip: Keine Rechenaufgabe, eine simple Buchstabenfolge reicht vollkommen aus. Einmal generiert, speicherst du das Bild ja auf dem Server. In eine Datenbank schreibst du dann die Verknüpfung "Dateiname xyz.png = Code ABCDEF". Somit ist sichergestellt, dass der Bot das Bild an sich analysieren muss, was natürlich mehr Rechenaufwand kostet als nur Text zu interpretieren.

Zur Captcha-Generierung hat sich bei mir folgendes System recht gut bewährt:
1. Verschiedene Schritarten für die einzelnen Zeichen, 10 sollten reichen
2. Jeden Zeichen in einem anderen Winkel
3. Jedes Zeichen anders gefärbt
4. Linien in der Farbe der Buchstaben über das Bild gezogen

Ausserdem habe ich auf jeder meiner Seiten ein Eingabefeld, welches per CSS ausgeblendet ist. Da Bots ja normalerweise alle <input>-Felder suchen und mit relativ sinnlosen Werten befüllen frage ich auf der Zielseite ab, ob das Feld auch wirklich leer ist. Wenn was gesendet wurde, dann war es ziemlich sicher ein Bot ;)

// Edit:
Back-To-topic...
Dann habe ich das versucht: if ($_SERVER['REMOTE_ADDR']=="xx.xxx.xxx.xx") die;
Verursacht nur einen Fehler.
Und welchen? Die Zeile wäre meiner Ansicht nach korrekt.

Gruß
BK
 
Zuletzt bearbeitet:
Danke für die Bemühungen. Geholfen hat mir das alles nichts, weil viel zu kompliziert für mich. Das berühmte "Hallo Welt" bekomme ich grad ma so hinne :-)
Aber ich hab das ganz anders gelöst. Bin ja davon ausgegangen, dass da so ein Roberto Robot vorbeischaut der nur im Quellcode rumschnüffelt. Und deshalb habe ich vor der Rechenausgabe einfach noch ein paar Zufallszahlen eingebettet, die ich für den Menschen farblich gekennzeichnet habe. Nun ist Ruhe, weil Roberto wohl immer falsch addiert :-)
 
Falls du doch auf Bilder umsteigen möchtest, findest du hier ein Captcha Script von mir. Vielleicht kannst du damit ja was anfangen. CaptchaScript.
Zu dem Fehler:
Versuch einfach mal folgendes:
PHP:
if ($_SERVER['REMOTE_ADDR']=="xx.xxx.xxx.xx") die();
 
Und deshalb habe ich vor der Rechenausgabe einfach noch ein paar Zufallszahlen eingebettet, die ich für den Menschen farblich gekennzeichnet habe. Nun ist Ruhe, weil Roberto wohl immer falsch addiert :-)

Interessant und mal schaun, wie lange der Robot braucht, bis er sich auf die Situation neu eingestellt hat... ;-)

Du könntest natürlich auch mit einem Image-Button arbeiten, bei dem man einen Punkt exakt mit der Maus treffen muss. Ist natürlich dann nicht barriere-frei. Es gibt x-tausend Scripts, schon fertig, die man nur einbinden muss. reCaptcha wurde schon genannt.

Wenn der Spammer immer ähnliche Wörter verwendet könnte man schauen, obs irgendwo ein Heuristik-Script zum Filtern gibt. Hier ne Erklärung: http://www.milendo.de/?p=39527

Allerdings finde ich da auf Anhieb nichts. Vielleicht hat jemand anders nen Link parat?
 
Also ich blocke Spammer erst mal nicht, sondern beschäftige sie. Sollen sie doch ihren Müll abkippen. Mach eine Liste mit bösen Worten und wenn eins davon auftaucht, wird alles schön gespeichert, aber ist unsichtbar. Wenn du möchtest, kannst du den Beitrag später wieder sichtbar machen.

Wenn du Links generell erst nach Sicht online stellst, verliert er schnell die Lust.
 
Zurück