web-dev-qa-db-fra.com

Quand localStorage est-il effacé?

Combien de temps puis-je m'attendre à ce que les données soient conservées dans localStorage. Combien de temps les données localStorage d'un utilisateur moyen vont-elles persister? Si l'utilisateur ne le supprime pas, cela durera-t-il jusqu'à la réinstallation du navigateur?

Est-ce cohérent sur tous les navigateurs?

80
Bnicholas

Le projet du W3C dit ceci

Les agents d'utilisateur doivent expirer les données des zones de stockage locales uniquement pour des raisons de sécurité ou à la demande de l'utilisateur. Les agents utilisateurs doivent toujours éviter de supprimer des données lorsqu'un script pouvant accéder à ces données est en cours d'exécution.

Ainsi, si les navigateurs respectent les spécifications, elles devraient persister jusqu'à ce que l'utilisateur les supprime sur tous les navigateurs. Je n'en ai trouvé aucun qui ait été supprimé de mes projets.

Un bon article à lire est aussi http://ejohn.org/blog/dom-storage/

74
Dominic Green

localStorage est également appelé Stockage Web, Stockage HTML5 et Stockage DOM (ces expressions signifient la même chose).

localStorage est similaire à sessionStorage, sauf que les données stockées dans localStorage n'ont pas de date d'expiration, tandis que les données stockées dans sessionStorage sont effacé lorsque la session de navigation se termine (c'est-à-dire lorsque le navigateur est fermé).

localStorage est disponible sur tous les navigateurs, mais la persistance n'est pas systématiquement mise en œuvre. En particulier, localStorage peut être effacé par une action de l'utilisateur et peut être effacé par inadvertance (qui penserait que la suppression de tous les cookies efface également le stockage local?).

Dans Firefox, localStorage est effacé lorsque ces trois conditions sont remplies: (a) l'utilisateur efface l'historique récent, (b) les cookies sont sélectionnés pour être effacés, (c) la plage de temps est "Tout"

Dans Chrome, localStorage est effacé lorsque ces conditions sont remplies: (a) des données de navigation claires, (b) "les cookies et autres données du site" est sélectionné, (c) la période est "à partir du début de l'heure". Dans Chrome, il est également désormais possible de supprimer le stockage local d'un site spécifique .

Dans IE, pour effacer le stockage local: (a) Outils - Options Internet, (b) Onglet Général, (c) supprimer l'historique de navigation à la sortie, (d) assurer "Cookies et données de site Web" (ou "fichiers Internet temporaires et fichiers de site Web ") est sélectionné, (e) envisagez de décocher" Conserver les données du site Web des favoris "en haut

Dans Safari: (a) Cliquez sur Safari (b) Préférences (c) Sélectionnez l'onglet Confidentialité (d) Cliquez sur Supprimer toutes les données du site Web (e) Cliquez sur Supprimer maintenant.

Opera: Malgré d’excellents articles sur le stockage local stockés sur le site Opera, je n’ai pas encore trouvé d’instructions claires (non programmatiques) à l’intention des utilisateurs sur la façon de supprimer le stockage local. Si quelqu'un découvre un message, laissez un commentaire. en dessous de cette réponse avec lien de référence.


Le Opera dev site contient un excellent résumé de LocalStorage:

La manière actuelle de stocker des données côté client - les cookies - pose un problème:

  • Taille réduite: les cookies ont généralement une taille maximale d’environ 4 Ko, ce qui n’est pas très utile pour stocker tout type de données complexes.

  • Il est difficile pour les cookies de garder trace de deux transactions ou plus sur le même site, ce qui pourrait se produire sous deux onglets différents ou plus.

  • Les cookies peuvent être exploités à l'aide de techniques telles que le script intersite, entraînant des brèches de sécurité.

Parmi les autres alternatives (moins populaires) aux cookies figurent les techniques impliquant des chaînes de requête, des champs de formulaire masqués, des objets partagés locaux basés sur flash, etc. ont utilisé de très mauvais moyens de stocker des données sur le côté de l'utilisateur. Nous avons besoin d’une meilleure solution, c’est là que le stockage Web entre en jeu.

Espace archivage sur le Web

La spécification W3C Web Storage a été conçue pour offrir un meilleur moyen de stocker des données côté client. Il existe deux types de stockage différents: le stockage de session et le stockage local.

Le stockage de session et le stockage local seront généralement en mesure de stocker environ 5 Mo de données par domaine, ce qui est bien plus que des cookies.

Ressources:

https://dev.opera.com/articles/web-storage/

http://www.quirksmode.org/html5/storage.html

http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/

https://nakedsecurity.sophos.com/2014/11/05/how-to-clear-out-cookies-flash-cookies-and-local-storage/

http://www.opera.com/dragonfly/documentation/storage/

article de DOMStorage sur MDN (écrit par John Resig)

http://ejohn.org/blog/dom-storage/

79
cssyphus

Le contenu du stockage local est persistant tant que l'utilisateur choisit d'effacer le stockage (entièrement ou une seule valeur à l'intérieur de celui-ci).

À propos de la cohérence entre les navigateurs, localstorage est actuellement disponible sur tous les principaux navigateurs, y compris IE8 + (voir http://caniuse.com/#feat=namevalue-storage )

2
fcalderan

Dans Chrome lorsque vous effectuez une "suppression des données de navigation", si vous choisissez l'option "Cookies et autres données de site et de plug-in", les données sessionStorage sont alors effacées.

1
Uday Sravan K