Closed paddle07 closed 3 months ago
Ich glaube, das hängt mit einem Bug zusammen, dass last_login und last_action nicht richtig gespeichert wurden. Kannst du das mit der aktuellen GitHub Version testen?
Nein, funktioniert auch nicht mit der aktuellen Github Version ...
... also ja, mit den oben erwähnten Anpassungen funktioniert's mit der aktuellen Github Version ... (assign übersehen ;))
Beim Testen nach Update auf YCom 4.2.0 (Github-Version) bin ich bei den Regeln "User wird für x Minuten nach jeweils x Login-Versuchen gesperrt" (pause) auf folgendes Problem gestossen: Der User wird nach 5/10 Loginversuchen nicht gesperrt und kann sich z.B. beim 12. Versuch ohne Probleme mit dem richtigen Passwort einloggen.
In der Klasse plugins/auth/lib/ycom_auth_rules.php wird auf Zeile 88 der Value 'last_login_time' abgefragt aber dieser wird bei einem falschen Loginversuch nicht gesetzt. Methode increaseLoginTries() in lib/ycom_user.php um $this->setValue('last_login_time', rex_sql::datetime(time())); erweitern?
Und muss in plugins/auth/lib/ycom_auth.php bei der Auth-Abfrage auf Zeile 217 die Anzahl Logins erhöht werden? Wenn login_tries > als Regel retourniert die Methode check() in Klasse plugins/auth/lib/ycom_auth_rules.php wieder true.
Nach erfolgreichem Login sollte der Wert login_tries wieder auf 0 gesetzt werden, oder? In Klasse plugins/auth/lib/ycom_auth.php auf Zeile 358 $me->setValue('login_tries', 0); hinzufügen ...
Regeln mit User deaktivieren funktionieren.