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.
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é dans plusieurs systèmes d'exploitation et j'ai découvert que le cookie de session était supprimé sur Chrome sous Windows XP et Ubuntu, mais PAS sous Mac OSX Lion.
ini_set("session.cookie_lifetime", 0)
et'remember_me_seconds' => 1
. Mais ça n'aide pas. Firefox fonctionne bien, mais pas Chrome.Réponses:
Cela peut être dû au fait que Chrome est défini sur Continuer là où vous vous êtes arrêté .
Lectures complémentaires
la source
J'ai juste eu le même problème avec un cookie qui devait expirer à la "fin de la session de navigation".
Malheureusement, ce n'est pas le cas, j'ai donc joué un peu avec les paramètres du navigateur.
Il s'est avéré que la fonctionnalité qui se souvient des onglets ouverts lorsque le navigateur est fermé était à l'origine du problème. (La fonctionnalité est nommée "Au démarrage" - "Continuer là où je l'ai laissé". Au moins sur la version actuelle de Chrome).
Cela se produit également avec Opera et Firefox.
la source
J'ai juste eu ce problème. J'ai remarqué que même après avoir fermé mon navigateur, de nombreux processus Chrome étaient en cours d'exécution. Il s'avère que ceux-ci provenaient chacun de mon extension Chrome.
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 à l'arrière pour tous les développeurs qui ont codé en espérant que les cookies de session seraient effacés lorsque l'utilisateur a terminé sa navigation.
la source
C'est peut-être parce que Chrome fonctionne toujours en arrière-plan 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 session précédente au début au lieu de se fermer.
la source
J'ai dû faire les deux, décoché, dans les paramètres avancés de Chrome:
la source
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.
la source
J'ai eu le même problème avec "document.cookie" dans Windows 8.1, le seul moyen pour Chrome de supprimer le cookie était de le fermer du gestionnaire de tâches (pas vraiment sophistiqué), j'ai donc décidé de gérer les cookies depuis le backend ou d'utiliser quelque chose comme "js-cookie".
la source
Avez-vous essayé de supprimer l'extension Hangouts dans Google Chrome? car cela oblige Chrome à continuer de fonctionner même si vous fermez toutes les fenêtres.
J'étais également confronté au problème, mais il est maintenant résolu.
la source
Aller à
chrome://settings/content/cookies?search=cookies
Activer
Clear cookies and site data when you quit Chrome
.A travaillé pour moi
la source
Si vous définissez le domaine pour le cookie de session php, les navigateurs semblent le conserver pendant environ 30 secondes. Cela n'a pas d'importance si vous fermez l'onglet ou la fenêtre du navigateur.
Donc, si vous gérez des sessions en utilisant quelque chose comme ce qui suit, cela peut entraîner le blocage du cookie dans le navigateur plus longtemps que prévu.
Le seul moyen que j'ai trouvé pour me débarrasser du cookie suspendu est de supprimer la ligne de code qui définit le domaine du cookie de session. Attention également à la fonction session_set_cookie_params (). Le préfixe de points du domaine ne semble pas non plus avoir d'incidence sur le problème.
Cela pourrait être un bogue php car php envoie un cookie de session (c'est-à-dire
PHPSESSID=b855ed53d007a42a1d0d798d958e42c9
) dans l'en-tête après la destruction de la session. Ou cela peut être un problème de propagation de serveur mais je ne le pense pas puisque mon test était sur un serveur privé.la source
Je viens d'avoir ce problème de stockage d'un identifiant de session par Chrome, mais je n'aime pas l'idée de désactiver l'option pour continuer là où je m'étais arrêté. J'ai regardé les cookies du site Web et trouvé un cookie d'identification de session pour la page de connexion. Supprimer cela n'a pas résolu mon problème. Je recherche le domaine et j'ai trouvé qu'il y avait un autre cookie d'identifiant de session sur le domaine. La suppression des deux cookies d'ID de session a résolu manuellement le problème et je n'ai pas fermé et rouvert le navigateur qui aurait pu restaurer les cookies.
la source
La solution serait d'utiliser
sessionStorage
, pour info: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStoragela source
Google Chrome a un problème si vous définissez et désélectionnez les cookies de manière incorrecte. Ceci est du code php. Je pensais que cela vous donnerait une idée.
Définir le cookie
Mauvaise façon et ne fonctionnera pas (notez que PATH est manquant)
Une manière correcte résout le problème sur Google Chrome
la source