Thomas Schmieder: Sessionverwaltung und Authentifikation

Beitrag lesen

Hallo Sven,

noch einige gute Tipps. Danke!

Ich konnte bislang nicht feststellen, dass die PHP-Doku, die ich verwende, irgendwelche Widersprüche enthält - insbesondere der Session-Teil ist eigentlich recht simpel.

in der offiziellen PHP-Doku steht leider nicht alles drin, was man sucht und die anderen scheinen nur mehr oder weniger sauber voneinander abzuschreiben und dabei entstehen dann öfter Fehler, meistens aufgrund der teilweise erheblichen Versionsunterscheide.

zu 1.)
auch PHP-Session-Cookies mit einer Lebensdauer > 0 werden nicht abgespeichert und auch nicht angezeigt. Das wird dann wohl an der zusätzlich mitgelieferten Cache-Strategie liegen??

2.) Wie kann ich einen solchen Session-Cookie auf der Workstation feststellen und auslesen? Gibt es Tools?

Willst du wissen, was drinsteht? Die Session-ID steht drin - erkennbar an den Daten, die PHP wieder vom Browser zurückkriegt, indem man $_COOKIES anguckt.

Das haben wir natürlich als Erstes getan.

Leider beantwotest Du meine Drage auch nicht. Ich würde gerne auf dem Client feststellen, ob der Browser Session-Cookies hält. Ist ja mein gutes Recht, festzustellen, welche fremden Daten mit (temporär) aufs Gerät gespeilt werden.

Schau in $_GET, $_POST und $_COOKIE nach, ob ein Schlüssel mit dem SessionID-Namen (gesetzt durch session_name() - default 'PHPSESSID') auftaucht.

Danke für den Tipp. Werde ich gleich kontrollieren, ob das stimmt.

4.) Gibt es eine Möglichkeit, ein session_register() direkt auf einzelen der $HTTP_POST_VARS auzuüben?

Damit würdest du vermutlich ein heftiges Kuddelmuddel erzeugen.

Ein Kuddelmuddel haben wir jetzt schon, da jede PHP-Version seit 3.x hier erhebliche Unterschiede und teilweise auch heftige Bugs aufweist. Ich muss nun versuchen, einen einigermaßen durchgängigen Leitfaden seit Einführung der Sessions in PHP zu erstellen.

Bemerke: Erst der Befehl session_start() schreibt die in der Session gespeicherten Werte in ihre zugehörigen Variablen. Vorher hast du nichts.

<blockquote>
variables_order = "EGPCS" ; This directive describes the order in which PHP registers GET, POST, Cookie, Environment and Built-in variables (G, P, C, E & S respectively, often referred to as EGPCS or GPC). Registration is done from left to right, newer values overwrite older
</blockquote>

Soweit war ich schon. Ich bin nicht zu faul zu lesen ;-) Trotzdem ist jede ernsthafte konstruktive Kritik hilfreich.

Ich danke Dir

Tom