- Wenn richtig, wird ein Cookie anhand oberen Codes gesetzt, mit dem Usernamen als Value. Das Cookie verliert die Gültigkeit beim Schließen des Browsers.
Das ist Mist.
Wieso?
Ich meinte die Sache mit dem Namen, nicht die Gültigkeit, die ist in Ordnung.
Aber was mache ich mit den "toten" Sitzungen? Wenn das einige Zeit läuft, hab ich ja tausende Einträge im "Session"-Table (kann doch ein Table sein, oder muss es eine abgetrennte DB sein?), die nicht mehr gebraucht werden.
Sofern Du ein Sessionmodul bei Dir findest, wird das auch die Aufräumarbeiten erledigen.
Dann langt es ja wohl, wenn ich bei jedem SID-Check auch gleichzeitig alle SIDs lösche, die älter als n Tage sind, oder?
Entweder dies oder Du speicherst die ID (und ihren Ablaufzeitpunkt) einfach als weitere Spalte bei den Benutzerdaten. Ist zwar etwas unkonventionell, aber auch praktisch, falls jemand sein Passwort vergessen hat: Du machst auf Anfrage einfach für zwei Minuten eine neue Session auf und schickst dem Glücklosen die Session-ID in einer Mail als anklickbaren Link ("login.pl?sid=123121213"). Damit kann er dann die Session übernehmen und selbst ein neues Passwort eintippen.
So kann man übrigens auch komplett passwortlose Zugänge einrichten.
Was ist, wenn der User keine Cookies akzeptiert?
Ich nehme an, dann schleppt man die SID im Querystring ständig mit?
Richtig.
(Frage: Wie häufig kommt das vor?)
Wenn Du mit den Cookies nicht (wie leider viele Sites) sinnlos rumsaust, sondern sie stattdessen nur bei tatsächlichem und für den Benutzer erkennbaren Bedarf einsetzt, werden Deine Benutzer Cookies sicher gerne zulassen. Je sparsamer Du mit Cookies umgehst, desto weniger Leute werden ein Problem damit haben.
Ich hab laut sysinfo.cgi meines Serverbetreibers nur folgende CGI-Module installiert:
Frage am besten Deinen Serverbetreiber nach einem Sessionmodul für Perl. Er kennt den Server und sollte Dir gerne Auskunft geben.