Content-Security-Policy: So stoppen Sie XSS-Angriffe
28.7.2026
Cross-Site-Scripting (XSS) steht seit Jahren an der Spitze der häufigsten Angriffe auf Websites. Der Angreifer schleust bösartiges JavaScript in Ihre Seite ein, und der Browser führt es aus, als wäre es Ihres — er stiehlt Cookies, leitet Nutzer um oder verändert Inhalte. Die Content-Security-Policy (CSP) ist die Abwehr, die dem Browser genau sagt, welchen Code-Quellen er vertrauen darf.
Wie CSP funktioniert
CSP ist ein HTTP-Header mit einer Liste von Regeln (Direktiven). Jede Direktive legt fest, woher ein bestimmter Ressourcentyp geladen werden darf. Zum Beispiel bedeutet script-src ''self'': Führe nur Skripte von meiner Domain aus und blockiere alles andere — Inline-Skripte, Skripte von fremden Domains. Gelingt es einem Angreifer, ein Skript einzuschleusen, führt der Browser es schlicht nicht aus, weil es nicht auf der Erlaubnisliste steht.
Die wichtigsten Direktiven
- default-src — die Rückfallregel für jeden Ressourcentyp, der nicht gesondert aufgeführt ist.
- script-src — woher JavaScript stammen darf; hier liegt der größte Sicherheitsgewinn.
- style-src — woher CSS-Stile stammen dürfen.
- img-src — woher Bilder stammen dürfen.
- frame-ancestors — wer Sie in einem iframe einbetten darf; verhindert Clickjacking.
So führen Sie es ohne Ausfall ein
Der größte Fehler ist, sofort eine strenge Richtlinie zu erzwingen und dann zuzusehen, wie die halbe Seite ausfällt — Analytics, Karten, eingebettete Videos. Beginnen Sie daher immer im Report-only-Modus: Der Header Content-Security-Policy-Report-Only blockiert nichts, er meldet nur, was er blockieren würde. Lassen Sie ihn einige Tage laufen, sammeln Sie die Berichte, fügen Sie legitime Quellen zur Liste hinzu und wechseln Sie erst dann zum echten, erzwingenden Header. Bei WordPress sollten Sie darauf vorbereitet sein, die von Plugins geladenen Quellen zu erlauben.
Im Shared Hosting fügen Sie CSP über die .htaccess oder die Servereinstellungen hinzu. Wenn Sie sich nicht damit herumschlagen möchten: Unsere WordPress-Hosting-Pakete kommen mit einer WAF und einfacher Konfiguration der Sicherheits-Header. Werfen Sie einen Blick auf die Pakete und erhöhen Sie Ihr Schutzniveau ohne Aufwand.
Häufige Fragen
Ersetzt CSP eine WAF? Nein — CSP schützt im Browser des Nutzers, eine WAF auf dem Server. Sie arbeiten zusammen, nicht anstelle des anderen.
Müssen Inline-Skripte verschwinden? Idealerweise ja, oder Sie geben ihnen einen Nonce/Hash. Inline-Code ist die größte Quelle für XSS-Risiken.
CSP ist einer von mehreren Sicherheits-HTTP-Headern; aktivieren Sie unbedingt auch HSTS für erzwungenes HTTPS, und lesen Sie für breiteren Schutz über den WAF-Schutz der Website.