Was die Referrer-Policy macht
Die Referrer-Policy legt fest, wie viel von der Adresse deiner Seite andere Websites erfahren, wenn ein Besucher einen Link klickt oder Inhalte geladen werden. Sie verhindert, dass Suchbegriffe, Kennungen oder Tokens aus Adressen nach außen gehen.
So funktioniert es
Folgt ein Besucher einem Link oder lädt deine Seite ein Bild, Skript oder Video von einem anderen Server, schickt der Browser den Referrer mit: die Adresse der Seite, von der die Anfrage kommt. In Adressen steckt oft mehr als der Seitenname, zum Beispiel ?suche=…, eine Bestellnummer oder ein Token aus einem Link zum Zurücksetzen des Passworts.
Mit dem Header Referrer-Policy bestimmst du, was mitgeht. Die wichtigsten Werte:
strict-origin-when-cross-origin: innerhalb deiner Seite die volle Adresse, an fremde Seiten nur die Domain, beim Wechsel von HTTPS auf HTTP nichts.same-origin: innerhalb deiner Seite die volle Adresse, an fremde Seiten nichts.strict-originundorigin: immer nur die Domain.no-referrer: nie etwas.no-referrer-when-downgradeundunsafe-url: die volle Adresse auch an fremde Seiten.
Worauf es ankommt
- Nie die volle Adresse an fremde Seiten.
unsafe-urlundno-referrer-when-downgradegeben sie heraus und sollten nicht verwendet werden. - Den Header selbst setzen. Aktuelle Browser verhalten sich ohne Header in der Regel schon wie
strict-origin-when-cross-origin, ältere senden die volle Adresse. Mit dem Header ist das Verhalten für alle festgelegt. - Gültige Werte. Einen unbekannten Wert ignoriert der Browser; der Header wirkt dann nicht. Steht eine Liste im Header, gilt der letzte Wert, den der Browser kennt.
- Statistik bleibt möglich. Mit
strict-origin-when-cross-originsehen verlinkte Seiten und Analysewerkzeuge weiter, von welcher Domain Besucher kommen, nur nicht die genaue Seite.
So richtest du es ein
Der empfohlene Header:
Referrer-Policy: strict-origin-when-cross-origin
Brauchen fremde Seiten nicht einmal deine Domain, nimm same-origin oder no-referrer. Gesetzt wird der Header im Webserver, in der Anwendung oder über eine Header-Regel beim Hoster oder CDN.
Viele CMS-Sicherheits-Plugins bieten die Einstellung ebenfalls an.