Zum Inhalt springen
TextArray
100% lokal

CSP-Header-Generator

Baue einen Content-Security-Policy-Header aus Feldern je Direktive, fertig zum Deployment.

Ausgabe

CSP-Header-Generator

Ein Content-Security-Policy-Header ist die stärkste einzelne Verteidigung gegen XSS, die eine Website ausrollen kann — und einer der Header, die am leichtesten unauffällig schiefgehen. Fülle die Direktiven aus, die du brauchst, lass den Rest leer, und die Policy baut sich zusammen: default-src als Basis, mit script-src, style-src, img-src, connect-src, font-src und frame-ancestors als Überschreibungen, wo du es sagst. Leere Felder werden ganz weggelassen — korrektes CSP: Eine fehlende Direktive fällt auf default-src zurück, statt versehentlich alles zu erlauben.

Der Generator behebt den klassischen Fehler für dich: CSP-Schlüsselwörter müssen in Anführungszeichen stehen, und ein unquotiertes self bedeutet nicht „dieser Origin" — es bedeutet einen Host, der wörtlich self heißt. Tippe self, none oder unsafe-inline nackt ein und sie kommen korrekt quotiert heraus; Hosts und Schemata wie https://cdn.example.com oder data: bleiben unangetastet.

Das Ausgabeformat passt dorthin, wo die Policy leben wird: eine rohe Header-Zeile zum Lesen und Einfügen, ein HTML-Meta-Tag für statische Sites ohne Serverzugriff, oder die exakten add_header- und Header-set-Zeilen für nginx- und Apache-Konfigurationen. Der upgrade-insecure-requests-Schalter hängt die Direktive an, die verirrte http://-Subressourcen transparent auf https umschreibt.

Starte strikt — default-src 'self' allein — deploye, öffne die Browser-Konsole und ergänze Quellen, wenn echte Verstöße auftauchen; diese Schleife erzeugt dichtere Policies als Raten im Voraus. Alles läuft lokal in deinem Browser: Architektur, CDN-Wahl und API-Endpunkte verlassen dein Gerät nie.

Häufige Fragen

Warum muss 'self' in Anführungszeichen stehen?
Weil CSP Schlüsselwörter von Hostnamen genau durch die Anführungszeichen unterscheidet. 'self' mit Quotes heißt „der eigene Origin dieser Seite"; self ohne heißt ein Server, der wörtlich self heißt. Der Generator quotiert die bekannten Schlüsselwörter automatisch.
Was passiert, wenn ich eine Direktive leer lasse?
Sie bleibt aus der Policy draußen und der Browser fällt für diesen Ressourcentyp auf default-src zurück. Genau so schreibt man CSP — nur dort überschreiben, wo die Regeln wirklich abweichen.
Meta-Tag oder Header?
Der Header, wann immer du den Server kontrollierst — er deckt jede Antwort ab und unterstützt alle Direktiven. Das Meta-Tag ist der Ausweg für statisches Hosting ohne Header-Kontrolle; beachte, dass frame-ancestors und report-uri in Meta-CSPs ignoriert werden.
Wie finde ich heraus, welche Quellen meine Site braucht?
Deploye eine strikte Policy (default-src 'self'), öffne die Devtools-Konsole und benutze die Site. Jede blockierte Ressource loggt einen Verstoß mit Direktive und URL — ergänze diese Quellen bewusst, eine nach der anderen. Für Tests ohne Bruch bietet sich Content-Security-Policy-Report-Only an.
Wird etwas von dem, was ich eintippe, hochgeladen?
Nein. Die Policy wird vollständig in deinem Browser zusammengebaut — deine Domains und Endpunkte verlassen dein Gerät nie.