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/profile oder /checkout?email=… leaken personenbezogene Daten an Ad-Netzwerke und Analytics-Tools.
  • Admin-Pfad-Entdeckung. Ein Klick von /admin/users/42 auf 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:

PolicySame-OriginCross-OriginCross-Origin-Downgrade (https→http)
no-referrernichtsnichtsnichts
same-originvolle URLnichtsnichts
strict-originnur Originnur Originnichts
strict-origin-when-cross-origin (empfohlen)volle URLnur Originnichts

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