Cookie- und Session-Verwaltung mit Claude Code implementieren
Erfahren Sie, wie Sie Cookie- und Session-Verwaltung mit Claude Code implementieren. Mit praktischen Codebeispielen und Schritt-für-Schritt-Anleitung.
Die Bedeutung der Cookie-Verwaltung
Cookies sind die Grundlage für Benutzerauthentifizierung und Session-Verwaltung, aber Konfigurationsfehler bei der Sicherheit können zu schwerwiegenden Schwachstellen führen. Mit Claude Code können Sie eine sichere Cookie-Verwaltung korrekt implementieren.
Sichere Cookie-Operationsutilities
> Erstelle Utilities für Cookie-Operationen mit Sicherheitseinstellungen.
> HttpOnly, Secure und SameSite-Einstellungen sollen verpflichtend sein.
interface CookieOptions {
maxAge?: number;
path?: string;
domain?: string;
secure?: boolean;
httpOnly?: boolean;
sameSite?: 'strict' | 'lax' | 'none';
}
const DEFAULT_OPTIONS: CookieOptions = {
path: '/',
secure: true,
httpOnly: true,
sameSite: 'lax',
maxAge: 86400, // 1 Tag
};
class CookieManager {
static set(name: string, value: string, options: CookieOptions = {}) {
const opts = { ...DEFAULT_OPTIONS, ...options };
const parts = [`${encodeURIComponent(name)}=${encodeURIComponent(value)}`];
if (opts.maxAge) parts.push(`Max-Age=${opts.maxAge}`);
if (opts.path) parts.push(`Path=${opts.path}`);
if (opts.domain) parts.push(`Domain=${opts.domain}`);
if (opts.secure) parts.push('Secure');
if (opts.httpOnly) parts.push('HttpOnly');
if (opts.sameSite) parts.push(`SameSite=${opts.sameSite}`);
return parts.join('; ');
}
static parse(cookieHeader: string): Record<string, string> {
return cookieHeader.split(';').reduce((acc, pair) => {
const [key, ...vals] = pair.trim().split('=');
if (key) acc[decodeURIComponent(key)] = decodeURIComponent(vals.join('='));
return acc;
}, {} as Record<string, string>);
}
static delete(name: string, path = '/') {
return this.set(name, '', { maxAge: 0, path });
}
}
Session-Verwaltung mit Express
> Implementiere sichere Session-Verwaltung mit Express.
> Redis als Session-Store und CSRF-Schutz einbinden.
import session from 'express-session';
import RedisStore from 'connect-redis';
import { createClient } from 'redis';
import csrf from 'csurf';
const redisClient = createClient({ url: process.env.REDIS_URL });
redisClient.connect();
const sessionConfig: session.SessionOptions = {
store: new RedisStore({ client: redisClient }),
secret: process.env.SESSION_SECRET!,
name: '__session',
resave: false,
saveUninitialized: false,
cookie: {
secure: process.env.NODE_ENV === 'production',
httpOnly: true,
sameSite: 'lax',
maxAge: 24 * 60 * 60 * 1000, // 24 Stunden
},
};
app.use(session(sessionConfig));
app.use(csrf({ cookie: false })); // Session-basiertes CSRF
Sichere Cookie-Operationen auf der Client-Seite
Die Verwaltung von Cookies auf der Browser-Seite (nicht-HttpOnly) kann ebenfalls mit Claude Code generiert werden.
// Client-seitige Cookie-Utilities (für nicht-sensible Informationen wie Theme- und Spracheinstellungen)
export const clientCookie = {
get(name: string): string | null {
const match = document.cookie.match(new RegExp(`(?:^|; )${name}=([^;]*)`));
return match ? decodeURIComponent(match[1]) : null;
},
set(name: string, value: string, days = 365) {
const expires = new Date(Date.now() + days * 864e5).toUTCString();
document.cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)};expires=${expires};path=/;SameSite=Lax`;
},
remove(name: string) {
document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`;
},
};
// Verwendungsbeispiel: Theme-Einstellung speichern
clientCookie.set('theme', 'dark');
const theme = clientCookie.get('theme'); // 'dark'
Session-Sicherheit verstärken
// Schutz vor Session-Fixation-Angriffen
app.post('/login', async (req, res) => {
const user = await authenticate(req.body);
// Session-ID bei erfolgreichem Login neu generieren
req.session.regenerate((err) => {
if (err) return res.status(500).json({ error: 'Session-Fehler' });
req.session.userId = user.id;
res.json({ success: true });
});
});
Zusammenfassung
Mit Claude Code können Sie von sicheren Cookie-Einstellungen über Session-Verwaltung bis hin zum CSRF-Schutz konsistent implementieren. Zur Authentifizierung allgemein siehe den Authentifizierungs-Implementierungsleitfaden, zum Vergleich mit JWT-Authentifizierung den JWT-Authentifizierungsartikel. Zur Sicherheit im Detail ist auch der Sicherheitsaudit hilfreich.
Best Practices zur Session-Verwaltung finden Sie unter OWASP Session Management.
Bring deinen Claude-Code-Workflow aufs nächste Level
50 in der Praxis erprobte Prompt-Vorlagen zum direkten Copy-and-paste in Claude Code.
Kostenloses PDF: Claude-Code-Spickzettel in 5 Minuten
Wichtige Befehle, Shortcuts und Prompt-Beispiele auf einer druckbaren Seite.
Über den Autor
Masa
Ingenieur, der Claude Code intensiv nutzt. Betreibt claudecode-lab.com, ein Tech-Medium in 10 Sprachen mit über 2.000 Seiten.
Ähnliche Artikel
Eigene Slash-Befehle in Claude Code erstellen — Workflow anpassen
Lerne, wie du eigene Slash-Befehle in Claude Code erstellst. Deckt Dateiablage, Argumente und Automatisierung häufiger Aufgaben mit Code-Beispielen ab.
10 Tipps, um Ihre Produktivität mit Claude Code zu verdreifachen
Entdecken Sie 10 praktische Tipps, um mehr aus Claude Code herauszuholen. Von Prompt-Strategien bis zu Workflow-Abkürzungen — diese Techniken steigern Ihre Effizienz ab sofort.
Canvas/WebGL-Optimierung mit Claude Code
Erfahren Sie, wie Sie Canvas/WebGL mit Claude Code optimieren. Mit praktischen Tipps und Codebeispielen.