von Michi » Mi 18 Sep, 2002 13:43
Ich programmiere mir das Sessionmanagement selbst mit cookies und dateien.
sieh dir dazu die Dokumentation von setcookie, fopen, fgets, fputs, fclose an.
Wichtig ist es auch, alle Nutzereingaben auf ihre Gültigkeit zu überprüfen, d.h. z.B. keine Leerzeichen oder "?=)(/&%&%!§"$€|<>usf. im Usernamen.
mein cookie hat den namen $LID (=login id) und die value "$username $sid" also z.B. "Michi 174fb293cdff093aaadcddd378902132"
Durch den Namen kann ich die Datei "Michi.sid" wiederfinden und mit der Sessionid in dieser Datei vergleichen. Gleichzeitig überprüfe ich das Datum des letzten Zugriffs und merke dabei, ob die Session noch gültig ist. Wenn nicht wird $username gelöscht, so dass das script weiß, dass der User nicht eingeloggt ist. Die ganze regelmäßige Authentifizierung geschieht im Script auth_keep.php (bei mir) das ich in jedem relevanten php-file includiere ( Include("auth_keep.php"); )
Das session-file (.sid) wird durch das login script (auth_login.php) erzeugt, sofern es noch nicht vorhanden ist. Das login-script liest die Datei "Michi.user" und überprüft mein eingegebenes Passwort mit dem Passwort in der user-Datei. Falls alles korrekt ist, erzeugt es ein session-file und setzt ein cookie. Beides natürlich mit der gleichen Session-ID.
Die user-files (.user) werden mit auth_reg.php erzeugt.
Ich hab das alles noch nicht programmiert. Das alles hier ist nur der Plan meines Programms. Ich schätze es dauert ein paar Monate soetwas zu programmieren (zumal ich nur in meiner Freizeit PHP-scripts schreibe).
Grüßi, Michi