web-dev-qa-db-fra.com

Quand expire un cookie dont le délai d'expiration est "En fin de session"?

Il y a un cookie de session avec un délai d'expiration qui indique "À la fin de la session". Quand expire-t-elle exactement ou sera-t-elle vivante pour toujours?

41
Shakti Singh

Lorsque vous utilisez setcookie, vous pouvez soit définir le délai d'expiration sur 0 ou simplement omettre le paramètre - le cookie expirera alors à la fin de la session (c'est-à-dire lorsque vous fermerez le navigateur).

34
mingos

Les cookies qui "expirent à la fin de la session" expirent de façon imprévisible du point de vue de l'utilisateur!

Sur iOS avec Safari, ils expirent chaque fois que vous changez d'application!

Le Android avec Chrome ils ne pas expirent lorsque vous fermez le navigateur).

Sur le bureau Windows exécutant Chrome ils expirent lorsque vous fermez le navigateur. Ce n'est pas lorsque vous fermez l'onglet de votre site Web; c'est lorsque vous fermez tous les onglets. Ils n'expirent pas non plus si d'autres fenêtres de navigateur sont ouvertes Si les utilisateurs exécutent des applications Web en tant que fenêtres, ils ne savent peut-être même pas que ce sont des fenêtres de navigateur. La durée de vie de votre cookie dépend donc de ce que l'utilisateur fait avec une application apparemment sans rapport.

42
James

Juste pour corriger la réponse de mingos:

Si vous définissez le délai d'expiration sur 0, le cookie ne sera pas créé du tout. J'ai testé cela sur Google Chrome au moins, et lorsqu'il était réglé sur 0, c'était le résultat. Le cookie, je suppose, expire immédiatement après sa création.

Pour définir un cookie afin qu'il expire à la fin de la session de navigation, il vous suffit d'OMITER complètement le paramètre d'expiration.

Exemple:

Au lieu de:

document.cookie = "cookie_name=cookie_value; 0; path=/";

Ecrivez:

document.cookie = "cookie_name=cookie_value; path=/";
9
J.Smith

La fin de la session utilisateur signifie lorsque le navigateur est arrêté.

Lisez ceci: http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age

8
shamittomar