Hallo retour,
so ist es zwar etwas umständlicher, aber es geht auch.
Ich wollte nicht eine Datei pro User bauen, sondern eine Datei für alle User. Da habe ich wohl nicht richtig gelesen.
Allerdings hätte eine Datei pro User den Vorteil, dass man in der ersten Zeile das CVS-Array mit den Login-Daten speichern könnte und in den folgenden Zeilen die Login-Historie mit
Login_Timestamp
Login_IP
Login_Password
Login_Errorflag (so sieht man auch Bruteforces auf die Logins)
Beim Login muss man nur mit fgets() die erste Zeile auslesen und kann dann mit später im Append-Mode einfach die Logindaten hinten dranhängen. Allerdings würde ich dann bei der ersten Zeile für "CVS" mit festen Feldlängen plädieren, um das Passwort auch ändern zu können. In eine echte Textdatei darf man ja sonst nix zürückschreiben. Dann müsste man die vorher ganz einlesen und vollständig zurückschreiben. Das ist unökonomisch.
Passwort sollte natürlich verschlüsselt abgelegt werden.
Hier eine Funktion für die Feldlängen-Abstimmung:
function fillspace($feld,$lang)
{
$feld = substr($feld,0,$lang); //abschneiden, wenn zu lang
while/strlen($feld)<($lang-1) //auffüllen mit
{
$feld = $feld . chr(32); //neutralem Element, kann auch chr(0) sein
}
return $feld;
}
Bei der Verschlüsselung des Passwortes könnte es mit den aufgefüllten Feldern Probleme geben.
Das waren nur noch ein paar Zusatzgedanken von mir.
Bis gleich
Tom