PowerScan
FR

Cookies, Local Storage et IndexedDB : ce qu'est réellement une session

Navigateurs antidetect · 7 min de lecture · par PowerOps

Photo : Unsplash

Se connecter écrit dans trois endroits distincts. Savoir lequel est lequel explique pourquoi les sessions survivent à certaines choses, cassent avec d'autres, et pourquoi synchroniser un profil impose de déplacer les trois.

"Être connecté" donne l'impression d'une seule chose. Ce sont au moins trois choses, stockées dans trois endroits différents avec trois durées de vie différentes, et cette différence explique la plupart des comportements déroutants que l'on rencontre en déplaçant des sessions d'une machine à l'autre.

Cookies

De petites paires clé-valeur, envoyées automatiquement avec chaque requête vers le site qui les a posées. C'est là que se trouve généralement le jeton de session.

Les cookies sont les plus petits des trois et les plus déterminants. Perdez-les et vous êtes déconnecté.

Local Storage et Session Storage

Un stockage clé-valeur de chaînes, lu et écrit par le JavaScript de la page, limité à chaque origine. Il n'est jamais envoyé avec une requête. La page doit le lire délibérément.

Les applications y conservent des préférences, des informations de profil en cache, des indicateurs de fonctionnalités et souvent un jeton de rafraîchissement. Le Local Storage persiste jusqu'à son effacement ; le Session Storage ne dure que le temps de l'onglet.

IndexedDB

Une vraie base de données dans le navigateur : enregistrements structurés, index, transactions. C'est là qu'une application web moderne garde tout ce qui est substantiel : historiques de messages en cache, files d'attente hors ligne, clés de chiffrement pour les fonctions chiffrées de bout en bout.

Pourquoi cela compte pour un profil

Cela donne un sens précis à "l'isolation". Deux profils sont isolés quand ces trois éléments sont séparés, ainsi que le cache et l'état des extensions. Un outil qui isole les cookies et partage IndexedDB a isolé le tiers facile du problème.

Cela fixe aussi la barre pour déplacer un profil entre machines. Transporter les seuls cookies reproduit la forme d'une session sans sa substance.

StockageÉcrit parContient typiquement
CookiesServeur et script de la pageJeton de session, préférences, identifiants de suivi
Local StorageScript de la pageJetons de rafraîchissement, état de l'interface, informations de profil en cache
Session StorageScript de la pageÉtat par onglet, supprimé à la fermeture de l'onglet
IndexedDBScript de la pageDonnées en cache, files d'attente hors ligne, clés de chiffrement

Déplacer une session entre vos propres machines

PowerOps capture les cookies, le Local Storage et IndexedDB à la fermeture d'un profil et les restaure à son ouverture ailleurs. Chaque catégorie est un interrupteur, pour tout l'espace de travail ou pour un seul profil, de sorte que vous déplacez exactement ce que vous voulez.

Deux propriétés méritent d'être connues sur ce fonctionnement :

Ce second point est une limite délibérée. Deux machines qui modifient indépendamment une même session produisent deux sessions à moitié valides et, assez souvent, un compte déconnecté sur les deux. Un bocal à cookies n'a aucun moyen de résoudre un conflit de fusion.

Ce qu'il faut retenir en pratique

Fermez les profils plutôt que de les tuer. L'écriture à la fermeture est ce qui rend la session portable, et c'est l'habitude la moins coûteuse de cette liste.

Tous les articles · Lancer l'analyse