PowerScan
IT

Cookie, Local Storage e IndexedDB: cos'è davvero una sessione

Browser antidetect · 7 min di lettura · di PowerOps

Foto: Unsplash

Accedere scrive in tre posti distinti. Sapere quale è quale spiega perché le sessioni sopravvivono ad alcune cose, si rompono con altre, e perché sincronizzare un profilo deve spostarli tutti e tre.

"Essere connessi" sembra una cosa sola. Sono almeno tre, memorizzate in tre posti diversi con tre durate diverse, e la differenza spiega la maggior parte dei comportamenti confusi in cui ci si imbatte spostando le sessioni tra computer.

Cookie

Piccole coppie chiave-valore, inviate automaticamente a ogni richiesta al sito che le ha impostate. È qui che di solito vive il token di sessione.

I cookie sono i più piccoli dei tre e i più determinanti. Se li perdi, sei disconnesso.

Local Storage e Session Storage

Memorizzazione chiave-valore di stringhe, letta e scritta dal JavaScript della pagina, limitata per origine. Non viene mai inviata con una richiesta. La pagina deve leggerla di proposito.

Le applicazioni vi conservano preferenze, dettagli del profilo in cache, feature flag e spesso un refresh token. Il Local Storage persiste finché non viene cancellato; il Session Storage dura solo quanto la scheda.

IndexedDB

Un vero database nel browser: record strutturati, indici, transazioni. È qui che un'applicazione web moderna tiene tutto ciò che è sostanzioso: cronologie di messaggi in cache, code offline, chiavi di cifratura per le funzioni con cifratura end-to-end.

Perché conta per un profilo

Dà un significato preciso a "isolamento". Due profili sono isolati quando tutti e tre questi elementi sono separati, più la cache e lo stato delle estensioni. Uno strumento che isola i cookie e condivide IndexedDB ha isolato il terzo facile del problema.

Fissa anche l'asticella per spostare un profilo tra computer. Portare con sé solo i cookie riproduce la forma di una sessione senza la sua sostanza.

ArchivioScritto daContiene tipicamente
CookieServer e script della paginaToken di sessione, preferenze, identificatori di tracciamento
Local StorageScript della paginaRefresh token, stato dell'interfaccia, dettagli del profilo in cache
Session StorageScript della paginaStato per scheda, scartato alla chiusura della scheda
IndexedDBScript della paginaDati in cache, code offline, chiavi di cifratura

Spostare una sessione tra i propri computer

PowerOps cattura cookie, Local Storage e IndexedDB alla chiusura di un profilo e li ripristina quando si apre altrove. Ogni categoria è un interruttore, per l'intero workspace o per un singolo profilo, così puoi spostare esattamente quanto intendi spostare.

Vale la pena conoscere due proprietà di come funziona:

Il secondo punto è una limitazione voluta. Due computer che modificano indipendentemente una sessione producono due sessioni semi-valide e, assai spesso, un account disconnesso su entrambi. Un contenitore di cookie non ha modo di risolvere un conflitto di merge.

Cosa portarsi a casa

Chiudi i profili anziché terminarli forzatamente. La scrittura alla chiusura è ciò che rende portatile la sessione, ed è l'abitudine più economica di questo elenco.

Tutti gli articoli · Avvia la scansione