← Alle Checks
SicherheitTypische Schwere: Niedrig

Scanner für schwache Referrer-Policy

Erkennt eine zu offene Referrer-Policy, die die vollständige URL deiner Website an externe Ziele weitergibt.

Was es prüft

Dieser Scanner erkennt, ob deine Seite eine freizügige Referrer-Policy hat, die die vollständige URL an externe Seiten weitergibt. Er stellt fest, wenn der Browser detaillierte Adressen deiner Seite sendet, sobald Links besucht oder Ressourcen von Dritten geladen werden.

Warum es wichtig ist

Die vollständige URL kann sensible Informationen enthalten, etwa Sitzungskennungen, Tokens oder private Pfade, die du nicht mit anderen Seiten teilen willst. Eine freizügige Richtlinie sendet diese Daten jedes Mal an externe Ziele, wenn ein Nutzer deine Seite verlässt.

Wie man es behebt

Setze den Referrer-Policy-Header auf einen strengeren Wert wie strict-origin-when-cross-origin, der externen Seiten nur die Herkunft und nicht den vollständigen Pfad mitteilt. Er wird in der Konfiguration deines Servers oder CDN definiert und ist meist eine einfache, sichere Änderung.

Wie diese Prüfung funktioniert

Diese Prüfung greift nur, wenn deine Seite den Header Referrer-Policy bereits sendet; fehlt er ganz, meldet das der Header-Scanner. Scanaris liest den Wert und öffnet, wenn er unsafe-url oder no-referrer-when-downgrade enthält, einen Befund mit niedrigem Schweregrad und dem exakten Wert. Jeder andere Wert (strict-origin-when-cross-origin, no-referrer, same-origin, origin, strict-origin) gilt als in Ordnung. Gemessen wird also nicht, ob du den Header hast, sondern ob der, den du hast, die vollständige URL preisgibt.

Was der Referrer ist und was durchsickert

Jedes Mal, wenn ein Nutzer einen Link zu einer anderen Seite anklickt oder deine Seite ein Bild oder Skript von einer anderen Domain lädt, schickt der Browser dem Ziel einen Header Referer mit der URL der Seite, von der er kommt. Die Referrer-Richtlinie entscheidet, wie viel dieser URL gesendet wird. Mit unsafe-url die vollständige URL samt Pfad und Parametern, selbst wenn das Ziel HTTP ist. Mit no-referrer-when-downgrade die vollständige URL an jedes HTTPS-Ziel; das war bis 2020 das Standardverhalten der Browser, weshalb es in vielen alten Konfigurationen noch steht. Was durchsickert, sind Dinge wie /dashboard/rechnungen/8841, /reset-password?token=..., /suche?q=kuendigung oder die Kennung eines geteilten Dokuments: Alles, was in der URL des Nutzers steht, landet bei Werbenetzwerken, Analysediensten und jeder externen Seite, auf die du verlinkst.

So behebst du es

Der empfohlene Wert für fast jede Seite:

Referrer-Policy: strict-origin-when-cross-origin

Er sendet die vollständige URL innerhalb deiner eigenen Domain (deine Analyse funktioniert weiter), nur den Origin (https://deinedomain.de) an andere Domains und nichts, wenn das Ziel HTTP ist. Es ist der Standard moderner Browser, mit dem expliziten Setzen fixierst du also nur, was sie ohnehin tun. Soll niemand erfahren, woher der Besucher kommt, ist no-referrer noch strenger.

  • Nuxt: in routeRules der nuxt.config, unter der Regel '/**'.
  • Next.js: in der Funktion headers() der next.config.js.
  • Vercel: in vercel.json. Netlify: in _headers.
  • nginx: add_header Referrer-Policy "strict-origin-when-cross-origin" always;. Apache: Header always set Referrer-Policy "strict-origin-when-cross-origin".
  • Express: helmet.referrerPolicy({ policy: 'strict-origin-when-cross-origin' }).

Braucht ein bestimmter Link ein anderes Verhalten (etwa ein Partnerprogramm, das den vollständigen Referrer verlangt), stell das an diesem Link mit dem Attribut referrerpolicy ein, statt die Richtlinie der ganzen Seite zu lockern.

Prüf, ob es behoben ist

curl -sI https://deinedomain.de | grep -i referrer-policy

Es muss strict-origin-when-cross-origin oder no-referrer erscheinen. Prüf auch, dass im HTML kein <meta name="referrer"> mit einem anderen Wert steht: Das Meta hat auf dieser Seite Vorrang vor dem Header.

Häufige Fragen

Verliere ich Daten in Google Analytics oder meinem Statistik-Tool?

Nein. Die Analyse deiner eigenen Seite speist sich aus dem Skript, das du einbindest, nicht aus dem Referrer. Was sich ändert, ist, was die Seiten sehen, auf die du verlinkst: statt der genauen Seite sehen sie deine Domain. Für deine eigenen internen Seiten bleibt der vollständige Referrer erhalten.

Meine Seite hat keine URLs mit sensiblen Daten.

Heute. Ein Link zum Zurücksetzen des Passworts, eine Bestellkennung oder ein Suchparameter tauchen auf, sobald die Seite wächst. Die richtige Richtlinie kostet eine Zeile und hat keine Nebenwirkungen.

Warum war no-referrer-when-downgrade der Standard?

Weil in den ersten Jahren des Webs der vollständige Referrer als nützlich galt und HTTPS die Minderheit war. Chrome, Firefox und Safari haben den Standard zwischen 2020 und 2021 auf strict-origin-when-cross-origin geändert, genau wegen der Lecks, die diese Anleitung beschreibt. Alle verwandten Header erklärt HTTP-Header für Menschen.

Prüf es auf deiner Website

Scanne deine Website kostenlos und sieh, ob dieser und 44 weitere Checks bestehen, mit einem Fix-Prompt für jedes Problem.

Meine Website kostenlos scannen

Aus dem Blog

Verwandte Checks