Reporting API in Contao konfigurieren

Reporting API in Contao aktivieren — per Symfony EventSubscriber oder .htaccess. Mit Verifizierung und häufigen Fehlern.

Contao · Schritt für Schritt

Reporting API in Contao

Reporting API ermöglicht automatische Browser-Meldungen von Sicherheitsverstößen. Im Wolf-Agents Web Security Check 4 von 166 Punkten.

In Contao setzen Sie Reporting-Endpoints per Symfony EventSubscriber.

In Contao-Projekten werden Security-Header typischerweise auf drei Ebenen konfiguriert: in der config/config.yaml fuer Symfony-Framework-Header, per EventSubscriber fuer dynamische Header und in der public/.htaccess fuer Apache-Level-Header. Fuer Reporting API empfehlen wir die Konfiguration per EventSubscriber, da dieser die meiste Flexibilitaet bietet und nicht von der Webserver-Konfiguration abhaengt.

Nach jeder Aenderung an der Header-Konfiguration muessen Sie den Contao-Cache leeren: vendor/bin/contao-console cache:clear. Ohne Cache-Clear werden Aenderungen an der config.yaml oder an EventSubscribern nicht wirksam. In Produktionsumgebungen verwenden Sie cache:clear --env=prod fuer den korrekten Cache-Kontext.

Reporting API-Implementierung in Contao

Der EventSubscriber ist der empfohlene Weg — unabhängig vom Webserver, überlebt Updates. Die .htaccess ist der schnelle Fallback.

EventSubscriber (empfohlen)
ReportingSubscriber.php Empfohlen
<?php
// src/EventSubscriber/ReportingSubscriber.php
namespace AppEventSubscriber;
use SymfonyComponentEventDispatcherEventSubscriberInterface;
use SymfonyComponentHttpKernelEventResponseEvent;
use SymfonyComponentHttpKernelKernelEvents;
class ReportingSubscriber implements EventSubscriberInterface {
  public static function getSubscribedEvents(): array {
    return [KernelEvents::RESPONSE => ['onResponse', 0]];
  }
  public function onResponse(ResponseEvent $event): void {
    $response = $event->getResponse();
    $response->headers->set('Reporting-Endpoints', 'csp-endpoint="https://ihre-domain.de/api/csp-reports"');
  }
}
.htaccess Fallback
public/.htaccess Fallback
# public/.htaccess — Reporting API
<IfModule mod_headers.c>
  Header always set Reporting-Endpoints "csp-endpoint="https://ihre-domain.de/api/csp-reports""
</IfModule>
Cache leeren nicht vergessen

Nach jeder Änderung: vendor/bin/contao-console cache:clear

Verifizierung

Nach der Konfiguration prüfen Sie den Header per curl. Testen Sie auf verschiedenen Seitentypen — Startseite, Detailseiten und Formulare.

Terminal Verifizierung
# Cache leeren
vendor/bin/contao-console cache:clear
# Header prüfen
curl -sI https://ihre-domain.de | grep -i reporting-endpoints
# Erwartete Ausgabe:
# reporting-endpoints: csp-endpoint="..."

Häufige Fehler bei Reporting API in Contao

contao-console cache:clear vergessen

EventSubscriber-Änderungen erfordern Cache-Invalidierung.

Report-Endpoint nicht erreichbar

HTTPS und CORS-Header für den Endpoint erforderlich.

Contao-Extension überschreibt Reporting

Natives CSP kann eigene Report-Endpoints setzen.

Compliance-Relevanz

Die korrekte Implementierung von Reporting API ist nicht nur eine technische Best Practice, sondern eine Anforderung, die bei Sicherheitsaudits und Penetrationstests regelmaessig geprueft wird. Fehlende oder falsch konfigurierte Header koennen zu Audit-Findings fuehren und die Zertifizierung gefaehrden.

Reporting API erfüllt Anforderungen aus mehreren Compliance-Frameworks.

NIS2Art. 21(e) — Sicherheit bei Erwerb, Entwicklung und Wartung von Informationssystemen
BSIAPP.3.1 — Webserver-Absicherung mit Security Headern
DSGVOArt. 32 — Technische Maßnahmen zum Schutz personenbezogener Daten

Wie steht Ihre Domain bei Reporting API?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.