Content Security Policy Generator
Generieren Sie CSP-Header zum Schutz vor XSS-Angriffen und Code-Injection. Enthält Sicherheits-Presets und Konfigurationen für Nginx, Apache und HTML-Meta-Tags.
Sicherheits-Presets
Direktiven Konfigurieren
fetch Directives
default-srcFallback for other fetch directives
Examples: 'self', 'self' https:, 'none'
script-srcSources for JavaScript execution
Examples: 'self', 'self' 'unsafe-inline', 'self' https://cdn.example.com
style-srcSources for stylesheets
Examples: 'self', 'self' 'unsafe-inline', 'self' https://fonts.googleapis.com
img-srcSources for images
Examples: 'self', 'self' data:, 'self' https: data:
font-srcSources for fonts
Examples: 'self', 'self' https://fonts.gstatic.com, 'self' data:
connect-srcSources for XHR, WebSocket, and EventSource
Examples: 'self', 'self' https://api.example.com, 'self' wss:
media-srcSources for audio and video
Examples: 'self', 'self' https://media.example.com, 'none'
object-srcSources for plugins (object, embed, applet)
Examples: 'none', 'self', 'self' https://plugins.example.com
frame-srcSources for nested browsing contexts (iframe)
Examples: 'self', 'none', 'self' https://www.youtube.com
worker-srcSources for Worker, SharedWorker, or ServiceWorker
Examples: 'self', 'none', 'self' blob:
manifest-srcSources for web app manifests
Examples: 'self', 'none', 'self' https://cdn.example.com
document Directives
base-uriRestrict URLs for <base> elements
Examples: 'self', 'none', 'self' https://example.com
navigation Directives
form-actionRestrict form submission URLs
Examples: 'self', 'none', 'self' https://api.example.com
frame-ancestorsRestrict embedding this page in frames
Examples: 'none', 'self', 'self' https://trusted.example.com
reporting Directives
report-uriURL to send CSP violation reports
Examples: https://example.com/csp-report, /csp-violation-endpoint
Generierte Content Security Policy
CSP-Richtlinie
default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
HTTP-Header
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
HTML-Meta-Tag
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'">
Nginx-Konfiguration
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'";
Apache-Konfiguration
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'self'; worker-src 'self'; manifest-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'"
Konfiguration Herunterladen
Sicherheitstipps
- • Beginnen Sie mit dem Nur-Bericht-Modus, um problematische Änderungen zu identifizieren
- • Vermeiden Sie 'unsafe-inline' und 'unsafe-eval' wenn möglich
- • Verwenden Sie Nonces oder Hashes für Inline-Skripte/Stile stattdessen
- • Überprüfen und aktualisieren Sie Ihre CSP regelmäßig, wenn sich Ihre Website weiterentwickelt
- • Überwachen Sie CSP-Verletzungsberichte, um Angriffe und Fehlkonfigurationen zu erkennen
- • Verwenden Sie 'strict-dynamic' mit Nonces für moderne CSP-Implementierungen
Verwandte Tools
Über Dieses Tool
Wie Es Funktioniert
- Konfigurieren Sie CSP-Direktiven zur Steuerung des Ressourcenladens
- Verwenden Sie Sicherheits-Presets für gängige Sicherheitsstufen
- Generieren Sie Header für verschiedene Webserver
- Testen Sie mit dem Nur-Bericht-Modus vor der Durchsetzung
Häufige Anwendungsfälle
- XSS-Angriffe und Code-Injection verhindern
- Laden von Drittanbieter-Ressourcen kontrollieren
- Tiefenverteidigung implementieren
- Best Practices für Sicherheit einhalten
Häufig Gestellte Fragen
Was ist eine Content Security Policy (CSP) und warum brauche ich sie?
CSP ist eine Sicherheitsfunktion, die Cross-Site-Scripting (XSS)-Angriffe und Dateinjektion verhindert, indem sie steuert, welche Ressourcen auf Ihrer Website geladen werden können. Sie dient als zusätzliche Sicherheitsebene gegen die Ausführung von Schadcode.
Was ist der Unterschied zwischen Durchsetzungs- und Nur-Bericht-Modus?
Der Durchsetzungsmodus blockiert aktiv Verstöße gegen Ihre CSP-Richtlinie, während der Nur-Bericht-Modus Verstöße protokolliert, ohne sie zu blockieren. Verwenden Sie zuerst den Nur-Bericht-Modus, um Ihre Richtlinie zu testen, bevor Sie sie auf Ihrer Live-Website durchsetzen.
Welches Sicherheits-Preset soll ich wählen?
Beginnen Sie mit 'Strenge Sicherheit' für maximalen Schutz, 'Moderate Sicherheit' für die meisten Websites mit externen Ressourcen oder 'Permissiv' für Entwicklungs- oder Legacy-Websites. Sie können die Direktiven nach der Auswahl eines Presets anpassen.
Kann ich CSP mit Meta-Tags statt mit HTTP-Headern verwenden?
Ja, aber HTTP-Header werden empfohlen, da sie mehr Funktionalität und Sicherheit bieten. Beachten Sie, dass der Nur-Bericht-Modus nur über HTTP-Header implementiert werden kann, nicht über Meta-Tags.
Was bedeutet 'unsafe-inline' und sollte ich es vermeiden?
'unsafe-inline' erlaubt die Ausführung von Inline-Skripten und -Stilen, was ein Sicherheitsrisiko darstellen kann. Es ist besser, externe Dateien zu verwenden oder Nonces/Hashes für Inline-Inhalte zu implementieren.
Wie gehe ich mit Drittanbieterdiensten wie Google Analytics oder CDNs um?
Fügen Sie die spezifischen Domains zu den entsprechenden Direktiven hinzu (z. B. script-src für Analytics, font-src für Webschriften). Für Google Analytics fügen Sie 'https://www.google-analytics.com' zu script-src hinzu. Seien Sie spezifisch statt Wildcards zu verwenden.
Was soll ich tun, wenn mein CSP meine Website beschädigt?
Verwenden Sie zuerst den Nur-Bericht-Modus, um Verstöße zu identifizieren, ohne die Funktionalität zu beeinträchtigen. Überprüfen Sie die Browserkonsole auf CSP-Verletzungsfehler, aktualisieren Sie dann Ihre Richtlinie. Verschärfen Sie die Sicherheit schrittweise.
Wie implementiere ich CSP-Verstoß-Berichterstattung?
Richten Sie eine report-uri-Direktive ein, die auf einen Endpunkt zeigt, der POST-Anfragen mit CSP-Verletzungsdaten empfangen kann. Viele Dienste bieten CSP-Verletzungsüberwachung an, oder Sie können Ihren eigenen Endpunkt erstellen.
Kann ich mehrere CSP-Richtlinien auf derselben Seite verwenden?
Wenn mehrere CSP-Richtlinien definiert sind (über Header und Meta-Tags), gilt die restriktivste Richtlinie. Es wird empfohlen, eine einzige, gut konfigurierte Richtlinie zu verwenden statt mehrerer widersprüchlicher.
Was ist der Unterschied zwischen frame-src und frame-ancestors?
frame-src steuert, welche URLs Ihre Seite in iframes einbetten kann, während frame-ancestors steuert, welche URLs Ihre Seite einbetten können. Verwenden Sie frame-ancestors: 'none', um zu verhindern, dass Ihre Seite irgendwo eingebettet wird.
Wie oft sollte ich meine CSP-Richtlinie aktualisieren?
Überprüfen Sie Ihre CSP-Richtlinie, wenn Sie neue Drittanbieterdienste hinzufügen, die Websitearchitektur ändern oder CSP-Verletzungsberichte erhalten. Regelmäßige Sicherheitsaudits sollten CSP-Richtlinienüberprüfungen beinhalten.
Funktioniert CSP in allen Browsern?
CSP wird von allen modernen Browsern unterstützt, aber einige ältere Versionen haben möglicherweise eingeschränkte Unterstützung für neuere CSP-Funktionen. CSP degradiert elegant — nicht unterstützte Direktiven werden ignoriert.