Hallo Gert,
ein ähnlicher Gedanke zum 'Unendlich-Login' kam mir auch schon.
Ich hatte mal einen Beitrag über Login-Limitierung gelesen. Ich meine, dass es um unendliche Loginversuche mit SSH ging. Das Script hat dann nach 3 Fehlversuchen zugeschlagen und ein Zeitlimit bis zum nächsten Versuch gesetzt. War der nächste Login wieder falsch, so erhöhte sich das Zeitlimit. Beim nächsten wieder und wieder und wieder. Wurde gemacht, damit sich Brute-Force-Scripte langweilen.
Den Einbau finde ich gut gemacht, aber fände es besser, dass man bei einem Fehlversuch zurück zum Login geworfen wird und dort die Anzeige 'x Versuche vebleiben' bekommt, dammit man nicht wieder auf 'Login' auf der Ausgangsseite klickern muss und nach 3 Fehlversuchen auf die Ausgangsseite kommt mit dem Verweiß 'Login gesperrt'. Habe ich es richtig gesehen, dass der Ordner 'CMSROOT/loginlimit/' existieren muss? Dann müssten dort noch explizit Schreibberechtigungen gesetzt werden, weil die Textdatei umbenannt wird. Besser wäre doch den Ordner in 'CMSROOT/usefiles/' anzulegen. Da die Implementierung für Jan 2026 vorgesehen ist, sehe ich die jetzige als 'Showcase' an. Bis zur finalen Version fließt ja noch ein wenig Wasser die Elbe bzw. die Spree herrunter. Ich neheme an, dass die Einstellungen für die Loginsperre im Backend gemacht werden können, denn momentan sind sie am Anfang der 'login.php' hart codiert.
Ich habe das ganze nochmal durchgespielt und festgestellt, dass nach dem 1. falschen Login auf der Ausgangsseite in der 'Warning-Box' 'Incorrect password' und ein Link '2 attempts remaining' zum nochmaligen Login erzeugt wird. In der 'login.php' habe ich den Link nicht gefunden. Wird er im Template (was ich nicht glaube), in der 'cms.php' oder der 'functions.php' gebaut? In der 'login.php' steht nur
Code: Select all
<div class="cmsimplecore_warning" style="text-align: center; font-weight: 700; padding: 12px 16px;">
<p>Incorrect password</p>
<p>2 attempts remaining</p>
</div>
Auch
Code: Select all
<div class="cmsimplecore_warning" style="text-align: center; font-weight: 700; padding: 12px 16px;">
<p>3x incorrect password</p>
<p>Login locked for ' . $cmsimpleLoginLimit / 60 . ' min</p>
</div>
erscheint nicht in der 'Warning-Box' bei 3 x falschem Login.
Und jetzt oute ich mich als PHP-Legasteniker: Das hat gedauert, bis ich darauf kam bzw. auf die Idee kam zu suchen, womit die Variable '$llip' gefüllt wird. Naja, besser länger als nie

Meine momentane IP-Adresse hast du jedendenfalls jetzt auf deinem Server.
Mehr Feedback fiel mir gerade nicht ein...
Doch, einee Frage noch: Wie verhält es sich , wenn mehrere parallel einen falschen Login haben. So wie ich es verstehe, würde die Textdate $llip-1.txt dann jedesmal mit einer anderen IP-Adresse benannt.
Gruß
Gonzo