ralf: Sessionverwaltung und Authentifikation

Beitrag lesen

Hallo,

1.) Es gibt scheinbar Unterschiede zwischen einem "Session-Cookie" und einem "normalen" Cookie. Wie bilden die sich in der System-Programmierung oder im HTTP-Protokoll ab?

Ein Session-Cookie dient nur zur Identifizierung der Session (pseudo Zustand) und ist ein stink normales Cookie nur mit dem Unterschied, das es automatisch gehändelt wird. Es ist nicht das serverseitige Session-Objekt. Dieses wird mit jeder _neuen_ Sitzung erzeugt und steht nur serverseitig zur Verfügung, sprich die Daten kommen nicht in das Session-Cookie. Wie es um die Besitzverhältnisse des Session-Cookies steht weiß ich leider nicht, sprich ob es clientseitig manipuliert werden kann un inwiefern es sich auf die Session auswirken würde. Fakt ist, dass wenn der Client keine Cookies zulässt, es zu keiner Sitzung kommt.

3.) Welche offiziellen Möglichkeiten gibt es festzustellen, ob eine Session besteht? Wir haben nur die Auswerung der Konstante SID finden können.

HTTP ist zustandslos, daher auch die Sache mit dem Session-Cookie, um selbige (Session) als solche zu identifizieren bzw. eine Art Pseudo-Zustand zu beschreiben*. Beide verfallen nach einer festgelegten Zeit. Gesichert ist nur, dass innerhalb dieser Zeit eine Sitzung (weiter)bestehen _kann_, sprich der Web-Server hält sich die Optionen offen (Session, SID) eine Sitzung weiter am Leben zu erhalten, ungeachtet der Tatsache ob diese nun _wirklich_ noch besteht (Client). Es ist also letztendlich auf Protokollebenen nicht möglich  die Exsistenz einer Session festzulegen, sondern nur diese zu beschreiben/erklären.
Anders wäre es mit Komponenten, welche den Sitzungszustand über eine client-/serverseitige Kommunikation sichern (nicht wirklich, da HTTP). Dies kann aber mit Cookies nicht erreicht werden, denn diese stellen nur einen Datenhalter/-container dar, keine Komponente.

hth
ralf

PS: ich komme nicht aus der PHP-Ecke, schätze aber, dass es dort nicht
    anders ablaufen wird/kann.

*) einseitiger (serverseitiger) Zustand, da der Client nur das Cookie
   an sich bereitstellt (nicht gesicherter Zustand, Cookie und HTTP)