Communitygithub.com

CSRF-Schutz

CSRF-Schutz – SameSite-Cookies, Double-Submit-Muster, Token-Validierung.

Was ist CSRF-Schutz?

Dieses Skill bietet eine vollständige Anleitung zum Schutz vor Cross-Site Request Forgery (CSRF) in Webanwendungen. Es deckt die wesentlichen Abwehrmechanismen ab: SameSite-Cookie-Attribute (Lax für Standard-Cookies, Strict für sensible Aktionen), das Double-Submit-Cookie-Muster für benutzerdefinierte APIs sowie die Validierung von CSRF-Tokens in HTML-Formularen. Der Skill betont die automatische CSRF-Behandlung durch moderne Frameworks wie Next.js Server Actions und SvelteKit form actions und empfiehlt die Verwendung eines benutzerdefinierten Headers (`X-CSRF-Token`) für Single-Page-Apps (SPAs). Er unterstützt Entwickler, die mit Technologien wie Node.js, Next.js, SvelteKit oder anderen Frameworks arbeiten, und enthält konkrete Implementierungsbeispiele (z. B. in TypeScript). Die Anleitung ist plattformunabhängig und eignet sich für Entwickler, die ihre Anwendungen gegen CSRF-Angriffe absichern möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/csrf-protection

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht CSRF-Schutz?

Regeln

  • Setze SameSite=Lax auf allen Cookies – dies blockiert die meisten CSRF-Angriffe standardmäßig
  • Verwende SameSite=Strict für hochsensible Aktionen (Konto löschen, Passwort ändern)
  • Implementiere das Double-Submit-Cookie-Muster für benutzerdefinierte APIs: CSRF-Token im Cookie + Anfrage-Header
  • Füge CSRF-Tokens in alle HTML-Formulare ein, die zustandsändernde Aktionen ausführen
  • Überprüfe die Origin- und Referer-Header bei zustandsändernden Anfragen als Defense-in-Depth
  • Next.js Server Actions und SvelteKit form actions behandeln CSRF automatisch – nutze sie
  • Für SPAs: Sende CSRF-Token in einem benutzerdefinierten Header (X-CSRF-Token) – Browser blockieren standardmäßig Cross-Origin-Anfragen mit benutzerdefinierten Headern
// Double-submit-cookie pattern
import crypto from "crypto";

function generateCsrfToken(res) {
  const token = crypto.randomBytes(32).toString("hex");
  res.cookie("csrf_token", token, { httpOnly: false, sameSite: "strict", secure: true });
  return token;
}

function verifyCsrf(req) {
  const cookieToken = req.cookies.csrf_token;
  const headerToken = req.headers["x-csrf-token"];
  if (!cookieToken || cookieToken !== headerToken) {
    throw new Error("CSRF validation failed");
  }
}

Vermeide

  • Dich nur auf Cookie-basierte Authentifizierung ohne CSRF-Schutz zu verlassen – jede Website kann Formulare an deine Endpunkte senden
  • CSRF-Tokens, die nie rotiert werden – ein einziger durchgesickerter Token gefährdet alle zukünftigen Anfragen
  • GET-Anfragen, die den Zustand ändern – CSRF-Schutz funktioniert nur bei POST/PUT/DELETE, weil GET-Anfragen die SameSite=Lax-Regel umgehen
  • Den CSRF-Schutz zu deaktivieren, weil „es nur eine API ist“ – wenn Cookies involviert sind, gilt CSRF

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

Verwandte Skills