Generator für Content Security Policy (CSP)
Erstellen Sie durch Aktivieren von Direktiven einen Content-Security-Policy-Header – inklusive HTTP-Header und <meta>-Tag-Variante.
Kurze Antwort: Content Security Policy (CSP) Generator: Läuft im Browser, kostenlos, ohne Registrierung.
Zuletzt aktualisiert
Häufig gestellte Fragen
- Was ist eine Content Security Policy?
- Ein Header, der dem Browser genau vorgibt, welche Ursprünge Skripte, Styles, Bilder, Schriftarten und Frames auf Ihrer Seite laden dürfen. Eine korrekt abgestimmte CSP verhindert die meisten XSS-Angriffe, selbst falls die Eingabevalidierung eine Schwachstelle aufweist.
- Sollte ich einen Header oder ein Meta-Tag verwenden?
- Verwenden Sie nach Möglichkeit einen Header – CSP per Meta-Tag unterstützt weniger Direktiven (kein <code>frame-ancestors</code>, <code>sandbox</code> oder <code>report-uri</code>). Nutzen Sie das Meta-Tag nur, falls sich die Response-Header des Servers nicht ändern lassen.
- Weshalb ist <code>'unsafe-inline'</code> in <code>script-src</code> keine gute Idee?
- Dadurch teilt man dem Browser mit, dass eingebettete <code><script></code>-Tags erlaubt sind – genau das schleusen die meisten XSS-Angriffe ein. Migrieren Sie zu Nonces oder Hashes; moderne Frameworks erleichtern dies erheblich.
- Wie steht es um <code>'unsafe-eval'</code>?
- Erlaubt <code>eval()</code> und <code>new Function()</code>. Einige Bundler (ältere webpack-Konfigurationen, bestimmte Template-Bibliotheken) benötigen dies; moderne Alternativen nicht. Prüfen Sie den Bedarf, bevor Sie es beibehalten.
- Sollte ich <code>upgrade-insecure-requests</code> aufnehmen?
- Ja, falls Ihre Website ausschließlich HTTPS verwendet – dadurch werden alle <code>http://</code>-Anfragen im HTML automatisch auf <code>https://</code> aktualisiert. Warnungen zu Mixed Content lassen sich so ohne Codeänderungen beheben.
- Was ist der Unterschied zwischen <code>frame-src</code> und <code>frame-ancestors</code>?
- <code>frame-src</code> steuert, wen Sie einbetten dürfen; <code>frame-ancestors</code> steuert, wer Sie einbetten darf. Letzteres ersetzt den älteren Header <code>X-Frame-Options</code>.
- Wie teste ich die Richtlinie?
- Stellen Sie zunächst <code>Content-Security-Policy-Report-Only</code> bereit, indem Sie den Header entsprechend umbenennen. Browser melden Verstöße an <code>report-uri</code>, ohne die Richtlinie durchzusetzen – so lassen sich Probleme vor der Aktivierung der Durchsetzung beheben.
- Blockiert die Richtlinie Analyse-Dienste von Drittanbietern?
- Nur falls Sie diese nicht erlauben. Fügen Sie die Ursprünge des Analysedienstes (z. B. <code>https://www.google-analytics.com</code>) zu <code>script-src</code> und <code>connect-src</code> hinzu.
- Werden meine Einstellungen hochgeladen?
- Nein – der gesamte Generator läuft in Ihrem Browser. Die erzeugte Richtlinie verlässt Ihr Gerät niemals.
- Wie erstelle ich Nonces für einzelne Anfragen?
- Ihr Server erzeugt für jede Antwort eine neue zufällige Nonce und fügt sie sowohl in den CSP-Header (<code>'nonce-XYZ'</code>) als auch in jedes eingebettete <code><script></code>-Tag ein. Die meisten modernen Frameworks bieten dafür eine Hilfsfunktion.