Content-Security-Policy Beispiele für Header
Die Content-Security-Policy ist ein HTTP-Header, mit dem eine Seite festlegt, aus welchen Quellen Skripte, Bilder und Styles geladen werden dürfen. Die Beispiele reichen von einer strengen Richtlinie über Nonce und Report-Only bis zur meta-Variante. Jede Richtlinie sollte vor dem Einsatz gegen die eigene Seite getestet werden, zuerst am besten im Report-Only-Modus.
6 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 1× Reservierter Bereich.
Content-Security-Policy, streng (nur eigene Quellen)
Content-Security-Policy: default-src 'self'; img-src 'self' data:; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
Alles nur vom eigenen Ursprung; Einbettung in Frames verboten.
Content-Security-Policy mit Nonce und strict-dynamic
Content-Security-Policy: script-src 'nonce-XXXXXXXXXXXXXXXX' 'strict-dynamic'; object-src 'none'; base-uri 'none'
Nonce muss pro Antwort neu erzeugt werden; hier Platzhalter.
Content-Security-Policy-Report-Only
Content-Security-Policy-Report-Only: default-src 'self'; report-to csp-endpoint
Meldet Verstöße, ohne zu blockieren; report-to verweist auf eine Gruppe aus Reporting-Endpoints.
Content-Security-Policy mit upgrade-insecure-requests
Content-Security-Policy: upgrade-insecure-requests
Lädt http-Ressourcen automatisch über https.
Content-Security-Policy als meta-Tag
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
Per meta möglich, aber frame-ancestors und report-uri werden dort ignoriert.
Content-Security-Policy für Bilder, Schriften und StylesReservierter Bereich
Content-Security-Policy: default-src 'self'; img-src 'self' https://example.com data:; font-src 'self'; style-src 'self' 'unsafe-inline'
Realistischer Mittelweg mit Ausnahme für Inline-Styles; Host reserviert.