dedlfix: Mail-Formular nur einmal absenden

Beitrag lesen

Tach!

Habe mich mit Sessions noch nicht so beschäftigt. Wie lange werden die aufbewahrt?
Sessions werden so lange aufbewahrt, bis der Besucher den Browser schließt. Oder du es in irgendeiner Weise vorgibst, es geht aber nie länger als bis der Benutzer den Browser schließt.

Das ist so nicht richtig. Die Session-Daten werden auf dem Server aufgehoben. Der bekommt von einem Schließen des Browsers nichts mit. Beim Anwender befindet sich nur eine Session-ID, meist in Form eines Cookies. Und diesem wird lediglich per Default mitgegeben, dass der Browser ihn am Ende der Sitzung verwerfen soll. Nichts hindert den Webseitenbetreiber daran, eine andere Ablaufzeit anzugeben, aufgrund der der Browser den Cookie dauerhaft ablegt. Ein Session-Cookie unterscheidet sich da nicht von einem Cookie zu anderen Zwecken.

Muss ich mich um die Entsorgung kümmern?
Nur wenn du möchtest.

Manchmal muss man sich jedoch um die Nichtentsorgung kümmern. Insbesondere dann, wenn der Pfad, in dem die Session-Dateien gespeichert werden auf einem Server mit mehreren Projekten nicht für jedes Projekt separat eingestellt ist. Die Daten abgelaufener Sessions werden per Garbage Collection entsorgt, die bei jedem Session-Start losläuft (oder nur jedem x-ten, was konfigurierbar ist). Wenn die Projekte nun unterschiedliche Minimal-Lebensdauern eingestellt haben, löscht das Projekt mit dem niedrigsten Wert unter Umständen noch benötigte Session-Dateien anderer Projekte weg. Abhilfe ist hier, den eigenen Session-Save-Path auf ein eigenes Verzeichnis zu konfigurieren.

dedlfix.