[MySQL] Benutzer sperren durch Fehllogin

Silberno

Lt. Junior Grade
Registriert
Aug. 2005
Beiträge
279
Hallo Leute,

Ich habe einproblem ich möchte gerne mein Login so erweitern das, wenn 3 Mal der Benutzer sich vertippt hat beim Passwort eingeben das er dann gesperrt wird. Jedoch weiß ich leider nicht wie ich es hinbekommen soll.

Oder funktioniert es auch mit PHP?

Im Internet habe ich leider nichts gefunden.

danke im vorraus.

greetz
 
Ich hab sowas jetzt selber nie gemacht, aber würde sagen, dass man die Benutzer Tabelle doch einfach um eine Fehllogin Spalte erweitern könnte und dann immer abgefragt wird, wie viele falsche Login Versuche es gab. Den Counter kann man dann bei einem korrekten Login auf 0 zurücksetzen.
 
Okay danke schön. Ich werde es mit fail2ban probieren. Ist die leichtere Methode meines erachtens nach.

Trotzdem danke an Drifta.

greetz
 
Ich bezweifle, dass Fail2Ban die leichteste Variante ist. Damit es über F2B geht, müssten folgende Aspekte erfüllt sein:
- Fehl-Logins müssen in eine Log-Datei geschrieben werden, inkl. IP des Einloggenden
- Fail2Ban muss erst einmal auf dem Server laufen. Wie viele Shared Hoster haben das laufen?
- Du musst Zugriff auf die Konfiguration des Fail2Ban-Daemon haben. Das setzt voraus, dass du Administrator des Servers bist -> geht nur bei V- oder Rootservern.
- Du musst so fähig sein, die passende RegEx für Fail2Ban zu schreiben, um deine Logfile auszuwerten. Ohne Rule kein Ban.

Viel einfacher ist die Variante, einfach die Login/User-Tabelle um mehrere Spalten zu erweitern. Für jeden Fehl-Login wird die Anzahl der Fehler um 1 hochgezählt. Wenn die Zahl X erreicht ist, wird für bis Zeitpunkt N (nächste Spalte) der Account deaktiviert (also noch ne "is_active" - Spalte nötig). Sobald die Sperrzeit überschritten ist kann man entweder per Cronjob oder Pseudocron den Acc wieder frei schalten und den Counter auf 0 setzen.

Unterschied:
Fail2Ban sperrt die IP des Angreifers für den gesamten Server. Das kann nach hinten los gehen (regulärer User, der sich 3x vertippt hat, kann nirgendwo auf einen Dienst des Servers zugreifen). Dafür merkt ein regulärer User, der sich nie vertippt, auch nix von Angriffen.
Eine Lösung über die Datenbank sperrt den Account gegen Angriffe von beliebigen IPs.
 
Zurück
Oben