Tom (der andere): eingeloggt bleiben (Sessions+Cookie)

Beitrag lesen

Hallo Tom,

das Sessions mit dem Schließen des Browsewrs verfallen, sit nicht richtig. Die Session besteht solange fort, wie man wieder "reconnect" kann. Da HTTP ein verbindingsloses Protokoll ist, findet dieser reconnect mit der Session bei jedem Request statt.

Die "Session-Cookies" verfallen nur deshalb, weil sie mit dem "Haltbarkeitsdatum" 0 gesendet werden. PHP setzt diese Angabe dann in die passende Cache-Strategie-Vorgabe und eine unendliche Haltbarkeit um. Wenn Du nun zu Fuß den Cookie (typisch PHPSESSID) mit der Session-ID als dauercookie setzen würdest, ihn dann anschließend im Script in das Array unter $_COOKIE["PHPSESSID"] eintragen würdest und DANN erst session_start() aufrufen würdest, würde PHP diesen Dauercookie benutzen und du könntest solange reconnecten, bis der Cookie gelöscht wird oder die Sessiondatei gelöscht wurde (typisch nach 1440 Sec. ohne Touch).

Das Löschen der Sessiondatei kannst Du verhindern, indem Du dem Verzeichnis (*nicht* den Dateien) der Sessiondateien das r-Recht für das PHP-Runtime entziehst. Dann kann der GC nicht mehr "browsen".

Grüße

Tom (der andere)