Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Blockieren der Anmeldung nach X fehlgeschlagenen Versuchen

Sie benötigen ein sogenanntes Kennwortversuchsfenster.

Grundsätzlich 2 Felder in der Datenbank, ein LastPasswordAttempt (datetime) und PasswordAttemptCount (int)

Überprüfen Sie dann bei jeder Anmeldung, wann der letzte LastPasswordAttempt aufgetreten ist und ob er in den letzten 10 Minuten gewesen ist - erhöhen Sie den PasswordAttemptCount, andernfalls setzen Sie ihn auf 0 zurück (oder 1, weil sie gerade fehlgeschlagen sind).

Überprüfen Sie in der gleichen Logik, ob PasswordAttemptCount gleich 5 oder mehr ist, wenn dies der Fall ist – verweigern Sie dem Benutzer den Zugriff. Sie könnten ein drittes Feld haben, das sie für ein paar Stunden oder einen Tag sperrt.

d.h. CanLoginAfter(datetime), das Sie auf einen Tag nach dem letzten Passwortversuch setzen können.

Hoffe das hilft