Es gibt einen Sitzungscookie mit Ablaufzeit, der "Am Ende der Sitzung" lautet. Wann genau läuft es ab oder wird es für immer leben?
Es gibt einen Sitzungscookie mit Ablaufzeit, der "Am Ende der Sitzung" lautet. Wann genau läuft es ab oder wird es für immer leben?
Antworten:
Wenn Sie verwenden setcookie
, können Sie entweder die Ablaufzeit auf einstellen 0
oder den Parameter einfach weglassen. Das Cookie läuft dann am Ende der Sitzung ab (dh wenn Sie den Browser schließen).
Cookies, die am Ende der Sitzung ablaufen, verfallen aus Sicht des Benutzers unvorhersehbar!
Unter iOS mit Safari verfallen sie, wenn Sie Apps wechseln!
Unter Android mit Chrome verfallen sie nicht, wenn Sie den Browser schließen.
Auf Windows-Desktops mit Chrome verfallen sie, wenn Sie den Browser schließen. Dies ist nicht der Fall, wenn Sie den Tab Ihrer Website schließen. Dies ist der Fall, wenn Sie alle Registerkarten schließen. Sie verfallen auch nicht, wenn andere Browserfenster geöffnet sind. Wenn Benutzer Web-Apps als Fenster ausführen, wissen sie möglicherweise nicht einmal, dass es sich um Browserfenster handelt. Das Leben Ihres Cookies hängt also davon ab, was der Benutzer mit einer scheinbar nicht verwandten App macht.
Nur um die Antwort der Mingos zu korrigieren:
Wenn Sie die Ablaufzeit auf 0 setzen, wird das Cookie überhaupt nicht erstellt. Ich habe dies zumindest in Google Chrome getestet, und wenn es auf 0 gesetzt wurde, war dies das Ergebnis. Der Cookie läuft vermutlich sofort nach der Erstellung ab.
Um ein Cookie so zu setzen, dass es am Ende der Browsersitzung abläuft, lassen Sie den Ablaufparameter einfach ganz aus.
Beispiel:
Anstatt:
document.cookie = "cookie_name=cookie_value; 0; path=/";
Einfach schreiben:
document.cookie = "cookie_name=cookie_value; path=/";
Ende der Benutzersitzung bedeutet, dass der Browser heruntergefahren wird.
Lesen Sie dies: http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age