Andreas Korthaus: Session beenden?

Beitrag lesen

Hallo!

Ich erklärs nur für Temp.Cookies=on, weil ich andere Sessions (mit Ausnahme selbstgebauter mit Auth) für blödsinn halte:

Ich weiß, das Thema ist durch, aber ich möchte doch darauf hinweisen dass es für Sessions auch andere Anwendungsgebiete gibt außer einer Authentifizierung, Cookies haben Vor- und Nachteile, genau so URL-Rewriting.

session_destroy();     // Sessiondatei löschen
setcookie("PHPSESSID"); // Cookie auf dem Client vernichten

Ersterer Befehl ist der von PHP vorgesehene um eine Session zu beenden(Die Session-Daten auf dem Server zu löschen), ob Cockie oder URL-Rewriting, letzterer löscht den Cockie, was wie Du richtig sagst bei Cockies der sicherste Weg ist, da destroy in Ausnahmefällen nicht korrekt funktioniert, siehe
http://www.php3.de/manual/de/function.session-destroy.php
http://www.dclp-faq.de/q/q-sessions-loeschen.html

Wenn man den Cookie auf dem Client nicht ebenfalls vernichtet, ist der in $_COOKIE["PHPSESSID"] beim nächsten Request wieder da und es wird, mangels vorhandener Sessiondatei eine neue Sessiondatei unter der alten Nummer angelegt.

ja und? Es kommt drauf an wozu und wie man die Session verwendet. PHP erstellt nur eine neue Session nach einem session_start(), was aber nicht vorkomen sollte wenn man eine Session gelöscht hat, es sei denn man möchte explizit eine neue, leere Session starten, dann ist es auch egal das es dieselbe SessionID ist. Bei einer Authentifizierung gelten andere Regeln - ich weiß - aber dazu werden Sessions eher selten verwendet.

Meiner Meinung nach verwirren derartige Aussagen jemanden der sich nicht so sehr mit der Materie auskennt wie Du.

Viele Grüße
Andreas