De manière générale, lorsqu'ils reçoivent un cookie qui n'a pas de période d'expiration, les navigateurs modernes considéreront ce cookie comme un `` cookie de session '', ils supprimeront le cookie à la fin de la session de navigation (généralement lorsque l'instance du navigateur se ferme).
IE, Opera, Safari et Chrome prennent tous en charge ce comportement.
Cependant, Firefox (dernière version 3.0.9) semble ne pas suivre cette règle, d'après ce que je peux dire, les cookies n'expirent pas lorsque le navigateur est fermé, ou lorsque l'utilisateur se déconnecte ou redémarre le système d'exploitation.
Alors, pourquoi Firefox les appelle-t-il des cookies de session, alors qu'ils durent indéfiniment?
Quelqu'un sait-il comment Firefox gère l'expiration des cookies de session?
Réponses:
C'est apparemment par conception. Découvrez ce bug de Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox a une fonctionnalité où vous fermez Firefox et il propose de sauvegarder tous vos onglets, puis vous restaurez le navigateur et ces onglets reviennent. Cela s'appelle la restauration de session. Ce que je ne savais pas, c'est que cela restaurera également tous les cookies de session pour ces pages! Il le traite comme si vous n'aviez jamais fermé le navigateur.
Cela a du sens dans le sens où si votre navigateur tombe en panne, vous revenez à l'endroit où vous étiez, mais c'est un peu déconcertant pour les développeurs Web habitués à effacer les cookies de session. J'ai d'anciens cookies de session d'il y a des mois qui ont été définis par des sites que j'ai toujours ouverts dans des onglets.
Pour tester cela, fermez tous les onglets de votre navigateur, puis fermez le navigateur et redémarrez-le. Je pense que les cookies de session de votre site devraient s'effacer dans ce cas. Sinon, vous devrez désactiver la restauration de session.
la source
Deux idées:
la source
Cela devrait fonctionner. J'étais l'un des testeurs de modules de cookies, et je ne pense pas qu'il y ait de raison de conception que cela se comporte différemment (bien que si vous vous plantez, les cookies de session pourraient être conçus pour vivre lorsque vous redémarrez ...)
Consultez-vous les cookies dans le menu "Préférences"> Onglet "Confidentialité"> bouton "Afficher les cookies ..."?
De plus, avez-vous essayé un nouveau profil?
la source
Je ne suis pas d'accord avec meandmycode ci-dessus.
La spécification HTTP https://www.ietf.org/rfc/rfc6265.txt parle de ce qu'un client doit faire avec les en-têtes Set-Cookie avec Expires:
L'extension logique de ceci est que la SEULE façon dont le serveur doit exiger que le navigateur ne conserve pas de cookie à la sortie est de ne définir aucune valeur Expires (c'est-à-dire un cookie de session). Si un navigateur n'honore pas cette sémantique, il n'honore pas la réponse du serveur.
Essentiellement, l'agent utilisateur décide d'ignorer la demande du serveur et d'agir comme si une valeur Expires avait été définie.
la source
C'est un peu un problème dans les environnements d'utilisateurs partagés. Si je configure un cookie d'authentification qui expire à la fin de la session. Cela persistera dans Firefox après la fermeture du navigateur et le démarrage de Firefox par un autre utilisateur. Les cookies sont définis avec une date d'expiration pour une raison!
la source
Je suis déconcerté que Mozilla ait laissé cela tel quel pendant plusieurs années.
OK .. alors je quitte FF et éteins le PC. Le jour suivant, FF démarre et ouvre le dernier ensemble de pages (fonctionnalité très pratique) MAIS il restaure les sessions et je suis reconnecté à des sites qui n'ont pas de fonction "enregistrer mes paramètres". Je sais parce que ce sont des sites que j'ai construits. Quoi que je fasse avec les paramètres php ini, les sessions sont restaurées.
Ils ne doivent absolument pas être restaurés. Pages oui, mais sessions avec cookie ini défini sur '0' non.
Je ne comprends pas pourquoi cela n'est pas signalé comme une faille de sécurité. Bien sûr, je peux faire des vérifications supplémentaires côté serveur, pour voir si une connexion doit être autorisée, en fonction de l'heure de la dernière connexion, mais cela ne devrait pas être nécessaire.
Une session ne doit PAS persister. FF manipule les paramètres d'expiration des cookies.
la source
Eh bien, c'est déconcertant pour moi. Mon système est configuré pour que les utilisateurs puissent appuyer sur EXIT, ce qui détruit tous les cookies de session. Mais si un utilisateur ferme le navigateur sans réellement choisir de quitter, j'aimerais que les cookies de session soient effacés.
Je l'ai testé avec Google Chrome, IE 9 et fonctionne très bien. Mais Firefox est réticent à tuer ces cookies de "session" (comme le rapporte Firebug).
D'ACCORD. C'est ce que j'ai fait. J'ai choisi Quitter le menu principal de FireFox et à partir de là, je l'ai bien fait comme prévu (je ne sais pas pourquoi).
la source