Die Content-Security-Policy (CSP) ist ein Sicherheitsmechanismus, mit dem du dem Browser genau vorgibst, von welchen Quellen Inhalte auf deiner Website geladen werden dürfen – und von welchen nicht.
Ausführliche Erklärung
Die Content-Security-Policy, kurz CSP, ist einer der mächtigsten (und gleichzeitig sensibelsten) Sicherheits-Header im Web. Ihr Ziel: Browsern klare Regeln geben, welche Skripte, Bilder, Fonts oder Stylesheets überhaupt geladen werden dürfen – und was draußen bleiben muss.
Damit schützt du deine Website insbesondere vor Angriffen durch Cross-Site Scripting (XSS) – also dem Einschleusen von fremden JavaScript-Code, der z. B. Nutzerdaten abgreifen oder Schadfunktionen auslösen kann.
Ein einfacher CSP-Header könnte so aussehen:
Content-Security-Policy: default-src 'self'; script-src 'self'
Das bedeutet:
- Standardmäßig darf nur die eigene Domain (
'self'
) Inhalte laden. - JavaScript darf ebenfalls nur von der eigenen Domain stammen.
- So weit, so sicher – aber auch so eingeschränkt.
- Denn in der Praxis nutzen viele Websites externe Dienste wie:
- Google Fonts
- Cookie-Banner
- Chatbots
- Tracking-Tools
eingebettete Videos oder Karten
Und genau hier wird’s heikel: Wenn diese Quellen nicht explizit in der CSP freigegeben sind, blockt der Browser sie rigoros. Deshalb ist die Umsetzung einer CSP eine Gratwanderung zwischen:
- möglichst viel blockieren (für Sicherheit)
- möglichst wenig blockieren (für Funktion)
- Wer die Balance findet, hat nicht nur mehr Kontrolle über seine Seite, sondern auch ein klares Signal an den Browser:
- „Hier wird auf Sicherheit geachtet.“
Gut zu wissen: Moderne Browser unterstützen auch einen „Report-Only“-Modus, in dem du sehen kannst, was wäre blockiert worden – ohne dass die Seite dabei kaputt geht. Ideal zum Testen.