💾 LocalStorage vs SessionStorage
🧠 Petit rappel : c’est quoi ces machins ?
LocalStorage et SessionStorage, ce sont deux petits coffres-forts dans ton navigateur.
Ils permettent aux sites web de stocker des infos côté client (donc chez toi, pas sur un serveur).
Mais attention : ils ont des différences cruciales, et... des pièges bien planqués.
⚔️ Le match : qui fait quoi ?
| LocalStorage 🗃️ | SessionStorage 🧳 | |
|---|---|---|
| Durée | Persistant (même après redémarrage) | Temporaire (effacé à la fermeture onglet) |
| Portée | Par domaine | Par onglet |
| Capacité | Environ 5 à 10 Mo | Environ 5 Mo |
| Partage | Accessible par toutes les pages du site | Propre à chaque onglet |
| Utilisation typique | Préférences, tokens, thèmes | Étapes d’un formulaire, état temporaire |
🔥 Pourquoi c’est risqué ?
1. Accessible par tout le JS du site
→ Si ton site se fait injecter un script malveillant (XSS), boom : tout est lisible.
2. Pas chiffré, pas protégé
→ Les données sont stockées en clair dans ton navigateur.
→ Un utilisateur malveillant ou un plugin fou peut fouiller dedans.
3. Pas conçu pour stocker des infos sensibles
→ Jetons, sessions, identifiants ? Évite absolument.
→ Ce n’est pas un coffre-fort. Plutôt une boîte à biscuits... sans couvercle.
4. Pas synchronisé entre appareils
→ Tu stockes un thème ? Très bien. Mais ne t’attends pas à le retrouver sur un autre appareil.
🧼 Bonnes pratiques (à suivre les yeux fermés)
✅ Stocke uniquement ce qui n’est pas confidentiel
→ Préférences d’UI, langue, thème, état temporaire.
✅ Purge ce que tu n’utilises plus
→ Nettoyer, c’est sécuriser. Tu n’habites pas dans un garage rempli d’objets oubliés, si ?
✅ Évite d’y stocker des tokens ou données critiques
→ Si t’as besoin de sécuriser, pense plutôt à des cookies HttpOnly ou à un serveur.
✅ Utilise SessionStorage pour les choses éphémères
→ Une étape de formulaire, un switch temporaire… et pouf, ça disparaît.
✅ Protège-toi des failles XSS
→ C’est LA menace principale pour ces stockages. Valide, encode, filtre, désactive les scripts non fiables.
🧩 À ne pas confondre…
-
Ce n’est pas du cache.
-
Ce n’est pas sécurisé.
-
Ce n’est pas partagé entre utilisateurs.
🧊 Ce sont juste des pense-bêtes du navigateur. Pas des coffres-forts.
📌 En résumé
| Ce qu’on peut faire | Ce qu’on doit éviter |
|---|---|
| Stocker un thème, un toggle, une langue | Mettre un token d’auth, une adresse mail |
| Sauvegarder un état temporaire | Laisser les données traîner indéfiniment |
| Préférer SessionStorage pour l’éphémère | Confondre stockage local et base de données |
| Nettoyer au logout | Compter dessus pour sécuriser quoi que ce soit |
Commentaires
Enregistrer un commentaire