J'essaie de définir un cookie de session en javascript comme ceci:
document.cookie = 'name=alex; path=/'
Mais Chrome ne le supprime pas même si je quitte le navigateur et le relance à nouveau.
J'ai vérifié dans Firefox et Opera et les deux fonctionnent comme prévu - ils suppriment le cookie de session à la sortie du navigateur.
Chrome ignore-t-il simplement les règles d'expiration?
J'ai vérifié plusieurs systèmes d'exploitation et découvert que le cookie de session était supprimé de Chrome sous Windows XP et Ubuntu, mais PAS sous Mac OSX Lion.
Cela peut être dû au fait que Chrome est réglé sur Continuer là où vous l'avez laissé.
Je viens d'avoir le même problème avec un cookie qui devait expirer à la "fin de la session de navigation".
Malheureusement, cela n’a pas été le cas, alors j’ai joué un peu avec les paramètres du navigateur.
Il s'est avéré que la fonctionnalité qui mémorise les onglets ouverts lors de la fermeture du navigateur était à l'origine du problème. (La fonctionnalité s'appelle "Au démarrage" - "Continuer là où je me suis arrêté". Au moins sur la version actuelle de Chrome).
Cela se produit également avec Opera et Firefox.
Je viens d'avoir ce problème. J'ai remarqué que même après la fermeture de mon navigateur, de nombreux processus chrome étaient en cours d'exécution. Il s'avère que ces thèses étaient chacune de mon extension chromée.
Sous les paramètres avancés, j'ai décoché 'Continue running background apps when Google Chrome is closed'
et mes cookies de session ont commencé à fonctionner comme ils le devraient.
Encore une douleur pour les développeurs qui attendions que les cookies de session soient effacés lorsque l'utilisateur a fini de naviguer
Cela est peut-être dû au fait que Chrome est toujours en cours d'exécution après la fermeture du navigateur. Essayez de désactiver cette fonctionnalité en procédant comme suit:
Cependant, je pense que Chrome devrait vérifier et supprimer les cookies de la session précédente en commençant au lieu de fermer.
Je devais les deux, décoché, sous les paramètres avancés de Chrome:
Une alternative simple consiste à utiliser le nouvel objet sessionStorage . Selon les commentaires, si vous avez coché «continuer là où j'ai laissé», sessionStorage persistera entre les redémarrages.
J'ai eu le même problème avec "document.cookie" dans Windows 8.1, la seule façon pour Chrome de supprimer le cookie était de le fermer à partir du gestionnaire de tâches (ce qui n'était pas vraiment une manière de fantaisie). comme "js-cookie".
Avez-vous essayé de supprimer l'extension Hangouts dans Google Chrome? parce que cela force chrome à continuer à fonctionner même si vous fermez toutes les fenêtres.
Je faisais également face au problème, mais le problème était résolu maintenant.
La solution serait d'utiliser sessionStorage
, FYI: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
Je viens d'avoir ce problème de Chrome stockant un identifiant de session mais je n'aime pas l'idée de désactiver l'option pour continuer là où je l'avais laissé. J'ai consulté les cookies du site Web et trouvé un cookie d'identification de session pour la page de connexion. Supprimer cela n'a pas corrigé mon problème. Je recherche le domaine et trouve qu’il existe un autre cookie d’ID de session sur le domaine. La suppression les deux / Les cookies de session ID ont corrigé le problème manuellement et je n’ai pas fermé ni rouvert le navigateur qui aurait pu restaurer les cookies.
Si vous définissez le domaine pour le cookie de session php, les navigateurs semblent le conserver pendant environ 30 secondes. Cela ne semble pas avoir d'importance si vous fermez l'onglet ou la fenêtre du navigateur.
Ainsi, si vous gérez des sessions à l'aide de ce qui suit, le cookie risque de rester bloqué dans le navigateur plus longtemps que prévu.
ini_set("session.cookie_domain", 'www.domain.com');
La seule façon que j'ai trouvée de supprimer le cookie suspendu consiste à supprimer la ligne de code qui définit le domaine du cookie de session. Surveillez également la fonction session_set_cookie_params (). La préfixe du domaine ne semble pas non plus avoir d'incidence sur la question.
Cela pourrait être un bug de php puisque php envoie un cookie de session (c'est-à-dire PHPSESSID=b855ed53d007a42a1d0d798d958e42c9
) dans l'en-tête après la destruction de la session. Ou ce pourrait être un problème de propagation de serveur mais je ne le pense pas puisque mes tests étaient sur des serveurs privés.