Sicurezza: cosa non archiviare mai
Evitare di archiviare token o dati personali identificabili in localStorage
Sicurezza: cosa non archiviare mai è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.
Lo storage è testo semplice
localStorage e sessionStorage salvano i dati non cifrati sul disco, nel profilo dell'utente. Qualsiasi processo con accesso al file system, inclusi malware, strumenti di backup o un altro utente con accesso all'account, può leggere ogni valore memorizzato senza passare dal browser.
Accessibile da qualsiasi script
Tutti gli script eseguiti sull'origine condividono lo stesso Storage. Un attacco XSS riuscito, un SDK di terze parti compromesso o un'estensione del browser dannosa può chiamare localStorage.getItem ed esfiltrare ogni valore memorizzato. Non esiste alcun isolamento tra gli script.
Non memorizzi mai i token di autenticazione
Non inserisca token di sessione, JWT, token di aggiornamento o chiavi API in localStorage. Se un attaccante inietta una sola riga di JavaScript, il token viene sottratto immediatamente. Utilizzi cookie httpOnly, Secure e SameSite, in modo che il token non sia mai accessibile da JavaScript.
Non memorizzi mai le password
Memorizzare password in qualsiasi forma, in chiaro, con hash o cifrate, è sbagliato sul client. Applicare l'hashing sul client non aiuta quando l'attaccante può leggere l'hash e riutilizzarlo. La gestione delle password deve avvenire interamente sul server, utilizzando un hash dedicato come bcrypt.
Non memorizzi mai i dati delle carte di credito
PCI-DSS vieta di memorizzare numeri delle carte, CVV, dati della banda magnetica o date di scadenza nello storage del client. Utilizzi invece un provider di pagamenti tokenizzato (Stripe, Braintree, Adyen) che restituisca un token di breve durata associato all'origine della pagina.
Non memorizzi mai gli identificatori personali
I documenti di identità, le date di nascita complete, gli indirizzi di casa e i dati medici attirano l'attenzione degli enti normativi (GDPR, HIPAA) e degli aggressori. Memorizzi solo ciò che è necessario per la sessione corrente, lo richieda nuovamente quando serve e lasci che sia il server a conservare la fonte autorevole.
XSS amplifica i danni
Un bug XSS che divulga document.cookie è grave. Lo stesso bug in una pagina che memorizza token in localStorage consegna all'aggressore tutti i valori memorizzati in una volta sola. Consideri localStorage una superficie in cui la compromissione di uno script equivale alla compromissione di tutto.
La crittografia non basta
Crittografare i valori con una chiave che risiede anch'essa in JavaScript non offre alcuna protezione reale: l'aggressore che può leggere il testo cifrato può leggere anche la chiave. I segreti reali devono restare lato server e venire riemessi, mai persistiti lato client.
Dati sicuri da memorizzare
Le preferenze dell'interfaccia (tema, barra laterale compressa, lingua), i feature flag non sensibili, il contenuto delle bozze dei moduli e lo stato temporaneo delle procedure guidate sono tutti dati sicuri. Sono comunque visibili all'utente e la loro divulgazione non consente di assumere il controllo dell'account.
localStorage.setItem("theme", "dark");
localStorage.setItem("sidebar:collapsed", "true");
localStorage.setItem("draft:post-123", draftMarkdown);Utilizzi i cookie per l'autenticazione
Imposti l'autenticazione tramite Set-Cookie: token=...; HttpOnly; Secure; SameSite=Strict. Il flag HttpOnly rende il cookie inaccessibile a JavaScript, neutralizzando la maggior parte dei payload XSS che rubano token, anche quando nella pagina sono presenti altri bug.
Misure di mitigazione per l'uso dello storage
Se deve memorizzare nella cache dati che sembrano sensibili, ne limiti rigorosamente l'ambito (TTL breve, cancellazione al logout, rimozione alla chiusura della scheda tramite sessionStorage), applichi una Content Security Policy rigorosa per bloccare gli script iniettati e verifichi ogni script di terze parti eseguito nelle pagine autenticate.
Verifica delle conoscenze
Perché i token di autenticazione memorizzati in localStorage sono considerati un rischio per la sicurezza?
Riepilogo
Web Storage è in testo semplice, leggibile dagli script e condiviso per origine. Non inserisca mai al suo interno token di autenticazione, password, dati di pagamento o informazioni personali soggette a normative. Conservi i segreti nei cookie httpOnly e riservi localStorage allo stato innocuo dell'interfaccia, che l'utente potrebbe comunque vedere.
Domande Frequenti
La lezione «Sicurezza: cosa non archiviare mai» è gratuita?
Sì — il testo completo di «Sicurezza: cosa non archiviare mai» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.
Cosa imparerò in «Sicurezza: cosa non archiviare mai»?
Evitare di archiviare token o dati personali identificabili in localStorage Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare HTML Academy?
Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Sicurezza: cosa non archiviare mai»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione HTML Academy?
Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- localStorage e sessionStorage a confronto
- Ottenere, impostare e rimuovere elementi
- Ascoltare gli eventi di archiviazione
- Sicurezza: cosa non archiviare mai