privacy
Strikte Referrer-Policy setzen
MetricSpot prüft auf einen Referrer-Policy-Header. Ohne ihn leakt jeder ausgehende Klick deine volle URL — inklusive Tokens, PII und Admin-Pfaden — an Drittseiten.
Was diese Prüfung macht
Untersucht die Response-Header auf eine Referrer-Policy-Direktive und prüft, ob der Wert eine der sichereren Policies ist: strict-origin-when-cross-origin (der moderne Browser-Default), strict-origin, same-origin, no-referrer oder no-referrer-when-downgrade. Die Prüfung fällt durch, wenn der Header fehlt oder auf eine leakende Policy gesetzt ist (unsafe-url, origin-when-cross-origin ohne strict-).
Warum es wichtig ist
Der Referer-Request-Header (ja, im Original-RFC falsch geschrieben, und wir bleiben dabei) teilt jeder Site, zu der du durchklickst, mit, von welcher URL du kommst. Ohne Policy schickt der Browser die volle URL — inklusive Pfad, Query-String und Fragment.
Das ist ein Datenschutz-Loch, das größer ist, als die meisten denken.
- Token-Leakage. Password-Reset-Links, Magic-Login-URLs, OAuth-Callbacks und „Share mit diesem privaten Link”-URLs tragen alle Secrets im Pfad oder Query. Jede externe Ressource auf der Seite (Analytics, Fonts, Drittanbieter-Skripte, eingebettete Bilder, ausgehende Links) bekommt die volle URL als
Referer. - PII-Leakage. URLs wie
/users/jane-patel@example.com/profileoder/checkout?email=…leaken personenbezogene Daten an Ad-Netzwerke und Analytics-Tools. - Admin-Pfad-Entdeckung. Ein Klick von
/admin/users/42auf ein externes Bild bewirbt die Existenz von/admin/stillschweigend bei jedem externen Dienst. - GDPR-Risiko. PII ohne Zustimmung an ein US-basiertes Ad-Netzwerk zu schicken, ist unabhängig von der Absicht ein GDPR-Verstoß. Eine strikte Referrer-Policy ist eine günstige Maßnahme.
Moderne Browser (Chrome 85+, Firefox 87+, Safari 14+) liefern strict-origin-when-cross-origin als Default — aber nur, wenn die Seite keine Policy zurückgibt. Ältere Browser und Edge-Cases (file://-Origins, http→http-Navigationen) leaken weiterhin, wenn du den Header nicht explizit setzt.
Wie du es behebst
Wähle eine der sicheren Policies und setze sie in deinen Response-Headern:
| Policy | Same-Origin | Cross-Origin | Cross-Origin-Downgrade (https→http) |
|---|---|---|---|
no-referrer | nichts | nichts | nichts |
same-origin | volle URL | nichts | nichts |
strict-origin | nur Origin | nur Origin | nichts |
strict-origin-when-cross-origin (empfohlen) | volle URL | nur Origin | nichts |
strict-origin-when-cross-origin ist der moderne Default: deine eigenen internen Navigationen bekommen volle URLs (nützlich für Analytics), externe Links bekommen nur das Origin (https://example.com/), und Downgrades zu HTTP schicken nichts.
nginx:
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Apache:
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Caddy:
header Referrer-Policy "strict-origin-when-cross-origin"
Cloudflare — Rules → Transform Rules → Modify Response Header, global setzen.
Next.js (next.config.js):
module.exports = {
async headers() {
return [{
source: "/(.*)",
headers: [
{ key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
],
}];
},
};
Express mit Helmet:
import helmet from "helmet";
app.use(helmet.referrerPolicy({ policy: "strict-origin-when-cross-origin" }));
Pro-Link-Override. Wenn ein bestimmter Link anderes Referrer-Verhalten braucht, nutze das referrerpolicy-Attribut auf <a> oder <img>:
<a href="https://partner.example.com/" referrerpolicy="no-referrer">Partner</a>
Selbst auditieren:
curl -sI https://yourdomain.com/ | grep -i referrer-policy
Erwarte eine einzelne Zeile mit deiner gewählten Policy. Wenn grep nichts liefert, fehlt der Header.
Häufig gestellte Fragen
Macht das mein Analytics kaputt?
Nein, solange dein Analytics Same-Origin ist (auf deiner Domain läuft) oder selbst gehostet wird. Cross-Origin-Analytics-Tools, die auf volle Referrer-URLs angewiesen sind (manche Attribution-Tools), sehen mit strict-origin-when-cross-origin weniger Daten — bekommen aber weiterhin das Origin, was meist reicht, um den Besuch zuzuordnen.
Soll ich aus Sicherheitsgründen no-referrer nutzen?
no-referrer ist am sichersten, bricht aber viele legitime Flows: Payment-Gateways prüfen oft den Referrer, um zu bestätigen, dass ein Checkout von einer echten Händlerseite kommt; OAuth-Provider loggen den Referrer manchmal zur Betrugserkennung; Analytics geht kaputt. strict-origin-when-cross-origin ist der richtige Default.
Wirkt sich das auf SEO aus?
Nein. Suchmaschinen lesen keine Referrer-Policy. Der Header wirkt nur auf ausgehende Klicks und Resource-Loads. SEO-seitig neutral; datenschutz-seitig ein deutliches Upgrade.
Quellen
Zuletzt aktualisiert 2026-05-11