web-dev-qa-db-fra.com

Comment supprimer le cookie de session?

Comment supprimer dynamiquement, via javascript, un cookie de session, sans redémarrer manuellement le navigateur?

J'ai lu quelque part que le cookie de session est conservé dans la mémoire du navigateur et sera supprimé lorsque le navigateur sera fermé.

// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);

Merci.

Plus d'informations: L'extrait de code ci-dessus est un extrait de code javascript, utilisant jQuery et son plugin jQuery.cookie.

49
Nordin

Un cookie de session est juste un cookie normal sans date d'expiration. Ceux-ci sont gérés par le navigateur pour être valides jusqu'à la fermeture de la fenêtre ou la fermeture du programme.

Mais si le cookie est un cookie httpOnly (un cookie avec le paramètre httpOnly ), vous ne pouvez pas le lire, le modifier ou le supprimer de l'extérieur de HTTP (ce qui signifie qu'il doit être changé sur le serveur).

67
Gumbo

Assurez-vous de fournir le même chemin exact que lorsque vous le définissez, c'est-à-dire.

Réglage:

$.cookie('foo','bar', {path: '/'});

Suppression:

$.cookie('foo', null, {path: '/'});

Notez que

$.cookie('foo', null); 

ne fonctionnera PAS, car il ne s'agit en fait pas du même cookie.

J'espère que ça t'as aidé. Il en va de même pour les autres options du hachage

32
Mads Buus

Il existe des problèmes connus avec IE et Opera ne supprime pas les cookies de session lors de la définition de la date d'expiration dans le passé (ce que fait le plugin de cookie jQuery))

Cela fonctionne bien dans Safari et Mozilla/FireFox.

6
Philippe Leybaert

vous pouvez le faire en définissant la date d'expiration sur hier.

Mon nouvel ensemble de messages sur les cookies en JavaScript pourrait vous aider.

http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/

2
Markus Nordhaus

Cela doit être fait côté serveur, où le cookie a été émis.

1
Josh Stodola