Wenn ein Cookie ohne Ablauffrist verwendet wird, betrachten moderne Browser dieses Cookie im Allgemeinen als "Sitzungscookie" und entfernen das Cookie am Ende der Browsersitzung (im Allgemeinen, wenn die Browserinstanz geschlossen wird).
IE, Opera, Safari und Chrome unterstützen dieses Verhalten.
Firefox (3.0.9 neueste Version) scheint dieser Regel jedoch nicht zu folgen. Soweit ich weiß, verfallen die Cookies nicht, wenn der Browser geschlossen wird oder wenn sich der Benutzer abmeldet oder das Betriebssystem neu startet.
Warum werden diese von Firefox als Sitzungscookies bezeichnet, wenn sie auf unbestimmte Zeit gültig sind?
Weiß jemand, wie Firefox mit dem Ablauf von Sitzungscookies umgeht?
Antworten:
Dies ist anscheinend beabsichtigt. Schauen Sie sich diesen Bugzilla-Bug an: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox verfügt über eine Funktion, mit der Sie Firefox schließen und alle Ihre Registerkarten speichern können. Anschließend stellen Sie den Browser wieder her und diese Registerkarten werden wieder angezeigt. Das nennt man Sitzungswiederherstellung. Was ich nicht realisiert habe ist, dass es auch alle Sitzungscookies für diese Seiten wiederherstellt! Es behandelt es so, als hätten Sie den Browser nie geschlossen.
Dies ist insofern sinnvoll, als Sie bei einem Absturz Ihres Browsers wieder dorthin zurückkehren, wo Sie sich gerade befanden. Dies ist jedoch ein wenig beunruhigend für Webentwickler, die zum Löschen von Sitzungscookies verwendet werden. Ich habe einige alte Sitzungscookies von vor Monaten, die von Websites gesetzt wurden, die ich immer in Registerkarten geöffnet habe.
Um dies zu testen, schließen Sie alle Registerkarten in Ihrem Browser, schließen Sie den Browser und starten Sie ihn neu. Ich denke, die Sitzungscookies für Ihre Website sollten in diesem Fall gelöscht werden. Andernfalls müssten Sie die Sitzungswiederherstellung deaktivieren.
quelle
Zwei Ideen:
quelle
Das sollte funktionieren. Früher war ich einer der Cookie-Modul-Tester, und ich glaube nicht, dass es einen Designgrund gibt, warum sich dies anders verhält (obwohl die Sitzungscookies bei einem Absturz möglicherweise auftreten so gestaltet sind, dass sie beim Neustart weiterleben ...)
Zeigen Sie die Cookies im Menü "Einstellungen"> Registerkarte "Datenschutz"> "Cookies anzeigen ..." an?
Haben Sie auch ein neues Profil ausprobiert?
quelle
Ich bin mit meandmycode oben nicht einverstanden.
In der HTTP-Spezifikation https://www.ietf.org/rfc/rfc6265.txt wird erläutert, was ein Client mit Set-Cookie-Headern mit Expires tun soll:
Die logische Erweiterung davon ist, dass der Server NUR verlangen muss, dass der Browser beim Beenden kein Cookie verwaltet, indem er keinen Expires-Wert (dh ein Sitzungscookie) festlegt. Wenn ein Browser diese Semantik nicht berücksichtigt, wird die Antwort des Servers nicht berücksichtigt.
Im Wesentlichen beschließt der Benutzeragent, die Serveranforderung zu ignorieren und so zu handeln, als ob ein Expires-Wert festgelegt worden wäre.
quelle
Dies ist in gemeinsam genutzten Benutzerumgebungen ein Problem. Wenn ich ein Authentifizierungscookie setze, das am Ende der Sitzung abläuft. Dies bleibt in Firefox bestehen, nachdem der Browser geschlossen wurde und ein anderer Benutzer Firefox startet. Cookies werden aus einem bestimmten Grund mit einem Ablaufdatum gesetzt!
quelle
Ich bin verblüfft, dass Mozilla dies seit einigen Jahren so belassen hat.
OK .. also beende ich FF und schalte den PC aus. Am nächsten Tag startet FF und öffnet den letzten Satz von Seiten (nette praktische Funktion), ABER es stellt die Sitzungen wieder her und ich bin wieder bei Sites angemeldet, die keine Funktion zum Speichern meiner Einstellungen haben. Ich weiß, weil es Websites sind, die ich erstellt habe. Was auch immer ich mit PHP INI-Einstellungen mache, die Sitzungen werden wiederhergestellt.
Sie sollten unbedingt nicht restauriert werden. Seiten ja, aber Sitzungen mit Cookie ini auf '0' gesetzt nein.
Ich verstehe nicht, warum dies nicht als Sicherheitslücke gekennzeichnet ist. Natürlich kann ich auf der Serverseite einige zusätzliche Überprüfungen durchführen, um festzustellen, ob eine Anmeldung basierend auf der Zeit seit der letzten Anmeldung zulässig sein sollte, aber sie sollte nicht benötigt werden.
Eine Sitzung sollte NICHT bestehen bleiben. FF bearbeitet die Cookie-Ablaufeinstellungen.
quelle
Nun, es ist beunruhigend für mich. Mein System ist so eingerichtet, dass Benutzer auf EXIT klicken können, wodurch alle Sitzungscookies zerstört werden. Wenn ein Benutzer den Browser schließt, ohne tatsächlich zu beenden, möchte ich, dass die Sitzungscookies gelöscht werden.
Ich habe es tatsächlich mit Google Chrome, IE 9, getestet und es funktioniert einwandfrei. Firefox zögert jedoch, diese "Sitzungs" -Cookies (wie von Firebug gemeldet) zu beenden.
OK. Das habe ich getan. Ich habe Exit aus dem FireFox-Hauptmenü gewählt und von da an alles wie erwartet gemacht (weiß nicht warum).
quelle