Content-Security-Policy-Reporting bezeichnet das Sammeln und Auswerten von Verletzungsmeldungen, die Browser erzeugen, wenn eine Content-Security-Policy (CSP) eine Regel blockiert. Statt nur zu sperren, erfährt der Betreiber, was auf seiner Website eigentlich passiert — ein wichtiger Baustein der modernen Webentwicklung und des Sicherheits-Monitorings.

Wie ein Verletzungsbericht aussieht

Verstößt eine Seite gegen eine CSP-Direktive, baut der Browser ein JSON-Dokument und sendet es per POST an den konfigurierten Endpunkt. Der Bericht enthält unter anderem:

  • blocked-uri — die blockierte Ressource,
  • violated-directive — die verletzte Direktive, etwa script-src,
  • document-uri — die Seite, auf der der Verstoß auftrat,
  • source-file und line-number — Fundstelle im Quelltext.

report-uri und report-to

Die ältere Direktive report-uri (CSP Level 2) verweist direkt auf eine URL und gilt als veraltet. Die moderne Variante report-to (CSP Level 3) benennt eine Gruppe, die im Report-To-Header mit Endpunkten definiert wird; neuere Entwürfe setzen dafür den Reporting-Endpoints-Header ein. Die Browser-Unterstützung der beiden Header unterscheidet sich, daher setzen viele Seiten beide Direktiven gleichzeitig.

Reporting API als generisches System

Die zugrunde liegende Reporting API ist nicht auf CSP beschränkt: Auch COEP- und COOP-Verstöße sowie Network-Error-Logging-Meldungen laufen über dieselben Endpunkte. Eine Seite kann so die Verstöße aller Sicherheitsheader zentral auswerten.

Erst melden, dann sperren

Der Header Content-Security-Policy-Report-Only überwacht eine Richtlinie, ohne sie durchzusetzen — ideal, um eine neue CSP im Browser zu testen, bevor sie scharf geschaltet wird. Auswertungen übernehmen Dienste wie Report URI oder ein eigener Server-Endpunkt.

Verwandte Grundlagen: Content-Security-Policy, Cross-Site-Scripting, X-XSS-Protection, Cross-Origin-Embedder-Policy, HTTP.