CSP-Generator
Erstelle einen Content-Security-Policy-Header, ohne die Syntax auswendig zu kennen. Wähle Quellen Direktive für Direktive, starte mit einer Vorlage, sieh, was schwach ist, und kopiere das Ergebnis für deinen Server, ein meta-Tag oder eine _headers-Datei. Alles läuft in deinem Browser.
Richtlinie erstellen
Starte mit einer Vorlage, hake die Quellen an, die jede Direktive braucht, und ergänze eigene Hosts. Die Richtlinie aktualisiert sich sofort.
Die Richtlinie entsteht in deinem Browser. Nichts, was du auswählst oder einfügst, wird an einen Server gesendet, protokolliert oder gespeichert.
Eine Content-Security-Policy sagt dem Browser genau, woher eine Seite Skripte, Styles, Bilder, Schriften und Frames laden darf. Alles andere wird blockiert – so wird aus den meisten Cross-Site-Scripting-Lücken ein harmloser Konsolenfehler. Der Haken ist die Syntax: ein fehlendes Anführungszeichen oder eine fehlende Quelle, und die Seite bricht. Dieser Generator schreibt sie für dich und markiert Einstellungen, die den Schutz unbemerkt aushebeln.
Die wichtigsten Vorteile
Typische Anwendungsfälle
So verwenden Sie es
- 1.Vorlage wählen. Starte mit Strenge Basis und ergänze Google Analytics 4, Google Fonts oder andere Vorlagen, die deine Website nutzt. Oder importiere deine aktuelle Richtlinie.
- 2.Jede Direktive anpassen. Hake die nötigen Schlüsselwörter an und trage zusätzliche Hosts wie
https://cdn.beispiel.dein das Feld darunter ein. - 3.Den Check lesen. Behebe alles mit ✗ und entscheide über alles mit ⚠. Jede Meldung erklärt, warum es wichtig ist.
- 4.Zuerst im Nur-Bericht-Modus ausrollen. Schalte den Nur-Bericht-Modus ein, kopiere das Snippet für deinen Server und beobachte ein paar Tage die Browserkonsole, bevor du durchsetzt.
Die wichtigsten Direktiven
Starte streng mit default-src und öffne nur, was ein echtes Feature braucht. Diese sechs Einstellungen tragen den Großteil des Schutzes.
'unsafe-inline'; erlaube Inline-Code per Nonce oder Hash und nenne nur Skript-Hosts, die du wirklich nutzt.Die wichtigsten Funktionen
- 14 Direktiven, jede mit passenden Schlüsselwörtern und freien Hosts
- Vorlagen für eine strenge Basis, Google Analytics 4, Google Fonts, YouTube und Stripe
- Importiert einen bestehenden Header zum Prüfen oder Erweitern
- Live-Check auf unsafe-inline, unsafe-eval, https:, data:, Wildcards und fehlende Direktiven
- Nur-Bericht-Modus, upgrade-insecure-requests und report-uri
- Ausgabe für HTTP-Header, meta-Tag, Nginx, Apache und _headers-Dateien
- Läuft im Browser; nichts wird hochgeladen
Eine CSP ist die zweite Verteidigungslinie
CSP begrenzt den Schaden, wenn eine Injection-Lücke durchrutscht; sie ersetzt weder Output-Escaping noch Eingabeprüfung. Eine Richtlinie, die 'unsafe-inline'-Skripte oder jeden HTTPS-Host erlaubt, wirkt beruhigend und blockiert kaum etwas – die Warnungen hier sind die eigentliche Arbeit.
Führe eine neue Richtlinie behutsam ein: als Report-Only senden, beheben, was bricht, dann durchsetzen. Nach dem Ausrollen bestätigt unser Security-Header-Checker, dass der Header wirklich gesendet wird, zusammen mit HSTS und den übrigen. Die Anleitung zu Security-Headern erklärt, wie CSP mit ihnen zusammenspielt.
Häufige Fragen
Was ist eine Content-Security-Policy?⌄
Ein HTTP-Antwort-Header, der festlegt, woher eine Seite Skripte, Styles, Bilder, Schriften, Frames und andere Ressourcen laden darf. Der Browser blockiert alles andere. Hauptaufgabe ist, Cross-Site-Scripting zu stoppen: Selbst wenn ein Angreifer ein Script-Tag einschleust, führt der Browser es nicht aus.
Header oder meta-Tag?⌄
Nutze wann immer möglich den HTTP-Header. Ein meta-Tag funktioniert für die meisten Direktiven, kann aber weder frame-ancestors noch report-uri oder den Nur-Bericht-Modus tragen und gilt nur für Inhalte nach dem Tag. Es ist eine Notlösung für Hosting ohne eigene Header.
Warum ist 'unsafe-inline' in script-src schlecht?⌄
Weil es jedes Inline-Skript laufen lässt, auch ein eingeschleustes – genau das, was CSP verhindern soll. Brauchst du Inline-Skripte, gib jedem eine Nonce, die sich bei jeder Antwort ändert, oder erlaube seinen SHA-256-Hash. 'unsafe-inline' in style-src ist deutlich weniger riskant und wird oft toleriert.
Macht eine CSP meine Website kaputt?⌄
Eine strenge Richtlinie blockiert beim ersten Mal meist etwas: ein Analyse-Tag, eine Schrift, eine Einbettung. Deshalb solltest du sie zuerst als Content-Security-Policy-Report-Only senden, die Konsole oder deinen Report-Endpunkt beobachten, die wirklich nötigen Quellen ergänzen und erst dann durchsetzen.
Wie prüfe ich, ob meine CSP aktiv ist?⌄
Öffne die Seite und sieh dir die Antwort-Header in den Entwicklertools an, oder prüfe die Domain mit einem Security-Header-Checker. Verstöße erscheinen in der Konsole mit Direktive und blockierter URL – damit weißt du genau, was fehlt.