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.
Related Posts
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.
Markdown Implementation with Claude Code
Learn about markdown implementation using Claude Code. Practical tips and code examples included.