Skip to main content
Alle Termen Glossary

Local Storage

Definition

Local Storage is een webopslag-API waarmee websites sleutel-waardeparen kunnen opslaan in een browser zonder vervaltijd. Hoewel handig voor client-side gegevenspersistentie, vereist het zorgvuldige beveiligingsoverweging aangezien opgeslagen gegevens toegankelijk zijn voor elk JavaScript dat op de origin draait. Gevoelige gegevens moeten worden versleuteld en invoer moet worden gevalideerd om XSS-aanvallen te voorkomen.

Wat Local Storage is

Local Storage is een Web Storage API waarmee een site string-sleutel-waardeparen in de browser bewaart zonder vervaldatum, afgeschermd per origin (protocol plus host plus poort). Data die door pages.example.com wordt weggeschreven, is alleen leesbaar door diezelfde origin, en blijft bestaan nadat tabbladen worden gesloten, pagina's opnieuw worden geladen en de browser opnieuw wordt gestart, totdat code of de gebruiker het wist. De toegang verloopt synchroon via window.localStorage, waardoor lezen en schrijven de hoofdthread blokkeren, en de praktische groottelimiet ligt rond de 5 tot 10 MB per origin. Anders dan bij cookies reist de inhoud nooit mee met HTTP-verzoeken, wat de request-headers klein houdt maar ook betekent dat de server nooit ziet of bepaalt wat een pagina daar opslaat.

Waarom het belangrijk is voor beveiliging

De cruciale eigenschap is dat elke JavaScript die op de origin draait, elke Local Storage-sleutel kan lezen. Er is geen HttpOnly-equivalent, dus één enkel cross-site scripting-lek, of één gecompromitteerd third-party script, kan de opslag doorlopen en alles wat het vindt naar buiten sluizen. Daardoor zijn sessietokens, JWT's, API-sleutels of persoonsgegevens die hier worden opgeslagen veel kwetsbaarder dan dezelfde waarde in een HttpOnly-cookie, die script niet kan lezen. Waarden blijven ook onbeperkt bestaan, dus een token dat weken na het inloggen wordt gestolen kan nog steeds geldig zijn. Local Storage biedt geen versleuteling, geen integriteitscontroles en geen automatische vervaldatum, waardoor het een slechte kluis is voor alles wat een aanvaller zou willen hebben.

Hoe je het veilig gebruikt

Behandel Local Storage als openbaar voor elke code op de pagina. Bewaar authenticatietokens in HttpOnly-, Secure-, SameSite-cookies in plaats van opslag die JavaScript kan lezen, en sla lokaal alleen niet-gevoelige data met lage waarde op. Ontsmet en valideer alles wat je terugleest voordat je het in de DOM invoegt, aangezien door aanvallers gecontroleerde waarden uit de opslag DOM-gebaseerde XSS kunnen aandrijven. Een strikt Content Security Policy beperkt welke scripts mogen draaien en dus wie de opslag kan aanraken. cside is relevant voor de kant van de third-party scripts: door externe scripts via een Script-methode te leiden en de payload te analyseren, kan het een vendorscript detecteren en blokkeren dat opslag begint te lezen en naar buiten sluist.

Definitie

Is Local Storage veiliger dan cookies?

Niet voor geheimen. Local Storage wordt nooit met verzoeken meegestuurd, wat een deel van de CSRF-blootstelling voorkomt, maar elk script op de origin kan het lezen, en het kan niet als HttpOnly worden gemarkeerd. Een HttpOnly-cookie is onzichtbaar voor JavaScript, dus voor sessietokens is een goed geconfigureerde cookie de veiligere keuze.

Definitie

Kan data in Local Storage worden gedeeld tussen subdomeinen?

Nee. Local Storage is opgesplitst per volledige origin, dus app.example.com en shop.example.com hebben aparte, geïsoleerde opslag en kunnen elkaars data niet lezen. Cookies kunnen via het domain-attribuut over subdomeinen worden gedeeld, maar Local Storage heeft geen vergelijkbaar mechanisme.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip