Sessions sind einfach, praktisch und viel Umweltfreundlicher als die lästigen Kekse.
Ich hoffe ihr fragt euch nun nicht, was Kekse mit PHP zu tun haben. Falls doch, dann für die Leute, die etwas langsamer sind: Kekse = Cookies. Cookies sind dazu da, um bei dem Benutzer Daten über einen bestimmmten Zeitraum zu speichern. Es kann eine Zahl sein, ein Wort oder eine Zeichenkette. Jedoch ist dies mit der Funktion setcookie() und den Usern, die keine Cookies akzeptieren, alles nicht gerade entspannend für die Benutzer und für den Programmierer.
Deshalb gibt es eine einfachere Methode, welche unter anderem auch den Gedanken „Akzeptiert der Benutzer nun Cookies?“ ein Ende setzt. Die Funktion session_start() beginnt bei jedem Aufruf eine sogenannte „Session“. Auf gut Deutsch eine Sitzung. Deren generierte ID wird Serverseitig zwischengespeichert und beim Benutzer entweder in einem Cookie gespeichert oder per GET Variable (z.B. sid, session etc.) immer weitergeleitet. Dies entscheidet PHP selbstständig, zumindest hat es das mal getan, könnte an meiner Serverkonfiguration liegen
Auch sensible Daten können in der Session gespeichert werden, da diese nicht beim User gespeichert werden, sondern auf dem Server. Natürlich sollte man trotzdem kein Passwort in einer Session speichern. Solange PHP also per Cookie oder GET die Session ID (SID) erhält, kann das Script den Benutzer mit einer Session identifizieren.
Ein Beispiel für Sessions:
session_start(); //Startet die Session $_SESSION['benutzername'] = 'Gast'; // Etwas in der Session speichern, in diesem Fall den "benutzernamen" Gast echo $_SESSION['benutzername']; // Gibt den Wert aus.
Wie bereits erwähnt wird nichts mehr bei dem Benutzer gespeichert bis auf die SID. Inwiefern diese noch überprüft wird, weiß ich auch nicht genau. Ich denke aber, dass es auch noch andere Abhängigkeiten wie die IP geben wird. Wobei es schon schwerer ist die SID herauszufinden für jemand böses, als einfach bei sich einen Cookie zu setzen, welcher uid heißt und wo die Benutzer ID drin steht. Bis jetzt wurde noch kein Script von mir gehackt, deshalb denke ich ist diese Methode in Verbindung mit anderen Dingen eine der Sichersten.