Einzelnen Beitrag anzeigen
Alt 06.01.2006, 08:57   #3 (permalink)
8-Ball
50 Beiträge
 
Benutzerbild von 8-Ball
 
Registriert seit: 27.03.2004
Beiträge: 74
Icon11 [PHP] Sessions -> solved

Ich hab das Problem soeben selbst gelöst.
Habe mir die Session Befehle angeschaut und dabei ist mir folgendes aufgefallen:
Es gibt einen Befehl session_set_cookie_params ( int Lebensdauer [, string Pfad [, string Domain [, bool secure]]]). Mithilfe dieses Befehls kann ich die Lebensdauer auf 0 stellen, sodass das Cookie nach dem Beenden des Browsers gelöscht wird. Die Lebensdauer stand Standardmäßig auf 3600 Sekunden, welches die Stunde Differenz erklärt.

Aber ich habe noch eine Frage:
Wenn ich die Seite der AdminKonsole aufrufe, klar, dann kommt zuallererst der Login. Wenn ich mich dann eingeloggt habe, so plane ich das, soll er lediglich auf der Seite bleiben. Soll heißen, ich "navigiere" mithilfe einer $section Variable. Dürfte soweit klar sein. Somit brauche ich nur am Anfang der Seite abfragen, ob die Session existiert oder nicht, um zu wissen, ob sich der User eingeloggt hat oder nicht.
Wie Frage ich danach, ob die Session existiert? Mache ich das richtig, indem ich nach if(!$sid && !$PHPSESSID) frage oder gibt es da noch einen (evtl. besseren) Weg? Ich möchte so auch u.a. vermeiden, dass wenn der User angemeldet ist und auf anderen Seiten surft, sich nicht nochmals anmelden muss, wenn er auf die AdminKonsole will. Hoffe das war verständlich.
Mit meiner Methode funktioniert das super, nur ist diese auch sicher oder kann jeder x-beliebige so den Login überspringen?

Kurz gesagt: Wird mit der Abfrage
if(!$sid && !$PHPSESSID) geschaut, ob eine Session vorliegt (also geschaut, ob das Session-Cookie vorliegt?).


__________________
Zitat von 8-Ball

Hi

Dieser Beitrag wurde 49 mal editiert.
8-Ball ist offline   Mit Zitat antworten