unex`9dots Administrator
Angemeldet: 02.08.2003 Beiträge: 1106 Wohnort: Karlsruhe Interessen: Coding, Segeln, Schwimmen, PC
|
Verfasst am: 03.06.2004, 16:01 Titel:
|
|
|
|
|
also unser Login geht prinzipiell mit sessions. d.h. jedem User wird beim einloggen eine Session ID zugeteilt die er so lange behaelt bis er sich ausloggt oder seinen Browser schließt. Gleichzeitig wird diese ID beim einloggen in eine Datenbank geschrieben und dem User zugeordnet. Unsere Page vergleicht bei jedem reload der Seite die dem user zugeteilte SessionID mit der in der Datenbank. stimmen sie ueberein ist er eingeloggt.. sonst nicht. Diese Session ID bleibt in der Datenbank solange gespeichert bis sich der User nei anmeldet und ´somit eine neue Session ID zugeteilt bekommt.
soweit so gut
d.h. auch wenn ich offline gehe steht noch meine alte session id in der Datenbank. Um jetzt beim naechsten mal gleich wieder eingeloggt zu sein muss ich dem Server also nur vorzeigen das ich diese Session ID noch habe. Und das machen wir mir einem Cookie, was ja auch browserrestarts etc. überlebt.
Also der Loginprozess der bei jedem Aufruf der Page durchlaufen wird ist grob so:
->schauen ob cookie da ist wo die Session ID drin steht.
wenn cookie da dann session aufmachen mit der session ID die im cookie steht -> der nachfolgende Dabavergleich zeigt das die ID stimmt und man ist eingeloggt
wenn kein cookie da ist wird ne neue session generiert mit zufalls session ID... der vergleich mit der Datenbank wird keine übereinstimmung feststellen -> ausgeloggt ..session wird zerstört... (beim naechstem aufruf einer seite der selbe Prozess.. d.h. bei jedem "F5" druecken ne neue Session ID.
wenn man sich jetzt ueber die Loginfelder einloggt wird deine Momentane session ID (die ja bei jedem seitenaufruf erstellt wird auch wenn du nicht eingeloggt bist) in die Datenbank geschrieben und die Session nicht gelöscht. d.h. die Session mit dieser ID überlebt solange bis sie durchs ausloggen zerstört wird oder durch das schließen des Browsers zerstört wird.
Alle Klarheiten beseitigt
sorry im erlären bin ich nciht sonderlich gut.. hoffe aber das mans einigermassen verstehen kann... mussts halt langsam lesen
wenn man sich jetzt normal einlo |
|