Referrer-Policy in PHP konfigurieren

Schritt-für-Schritt-Anleitung: Referrer-Policy in PHP einrichten — mit header()-Code zum Kopieren und Best Practices für Datenschutz.

PHP · Schritt für Schritt

Referrer-Policy in PHP

Referrer-Policy kontrolliert, welche Referrer-Informationen bei Navigationen und Requests mitgesendet werden. Ohne Policy leakt der Browser die vollständige URL — inklusive Pfad und Query-Parametern. Mit 10 von 166 Punkten im Wolf-Agents Web Security Check.

In PHP setzen Sie die Referrer-Policy mit einem einzigen header()-Aufruf. Der Wert strict-origin-when-cross-origin ist der empfohlene Standard: gleiche Origin erhält den vollen Pfad, Cross-Origin nur die Domain.

In PHP-Projekten gibt es drei Wege, Security-Header zu setzen: die header()-Funktion direkt im Code, eine zentrale auto_prepend_file in der php.ini oder ein PSR-15 Middleware-Stack in modernen Frameworks. Fuer Referrer-Policy empfehlen wir die auto_prepend_file-Methode, da sie alle PHP-Responses abdeckt -- auch Fehlerseiten und Legacy-Code, der keine Middleware verwendet.

Beachten Sie, dass header() in PHP vor jeder Ausgabe aufgerufen werden muss. Sobald der Body gesendet wird (auch durch ein einzelnes Leerzeichen vor <?php), koennen keine Header mehr gesetzt werden. Verwenden Sie output_buffering oder auto_prepend_file, um dieses Problem zu vermeiden. Der Wolf-Agents Web Security Check prueft den Referrer-Policy-Header automatisch.

1 Schritt 1 von 3

Referrer-Policy in PHP konfigurieren

Fügen Sie den Header in Ihrer security-headers.php hinzu. Über auto_prepend_file in der .user.ini wird die Datei vor jedem PHP-Script geladen.

Beachten Sie, dass der Header auf allen Seiten konsistent gesetzt sein muss. Eine Luecke auf einer einzigen Seite kann ausreichen, damit Angreifer diese Seite als Einstiegspunkt nutzen. Testen Sie die Konfiguration daher auf verschiedenen Pfaden und Seitentypen Ihrer Anwendung.

security-headers.php Produktiv
<?php
// security-headers.php — Referrer-Policy

if (!headers_sent()) {
    header('Referrer-Policy: strict-origin-when-cross-origin');
}
2 Schritt 2 von 3

Konfiguration verifizieren

Prüfen Sie den Header mit curl oder dem Wolf-Agents Web Security Check.

Terminal Verifizierung
# Referrer-Policy pruefen
curl -sI https://ihre-domain.de | grep -i referrer-policy

# Erwartete Ausgabe:
Referrer-Policy: strict-origin-when-cross-origin
Nutzen Sie den Wolf-Agents Web Security Check für eine vollständige Prüfung aller 10 Punkte dieses Headers.
3 Schritt 3 von 3

Häufige Fehler

no-referrer bricht Analytics

no-referrer unterdrückt alle Referrer-Informationen — auch für interne Links. Das bricht Google Analytics und andere Tracking-Tools. Verwenden Sie strict-origin-when-cross-origin als sicheren Kompromiss.

Affiliate-Links verlieren Tracking

Mit strict-origin-when-cross-origin wird bei Cross-Origin-Navigationen nur die Domain gesendet. Affiliate-Programme benötigen oft den vollen Pfad. Lösung: Affiliate-Links über eine eigene Redirect-Seite leiten.

Meta-Tag überschreibt Header

Ein <meta name="referrer">-Tag im HTML kann den HTTP-Header überschreiben. Prüfen Sie Ihr HTML auf solche Tags — der HTTP-Header sollte die einzige Quelle der Wahrheit sein.

Compliance-Relevanz

Die korrekte Implementierung von Referrer-Policy 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.

DSGVO — Art. 5(1)(c) — Datenminimierung durch Einschränkung der Referrer-Informationen
OWASP — ASVS V14 — HTTP Security Response Headers

Wie steht Ihre Domain bei Referrer-Policy?

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