Referrer

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Referrer ist die Internetadresse der Webseite, von der der Benutzer durch Anklicken eines Links zu der aktuellen Seite gekommen ist (engl. to refer „verweisen“). Beim Abruf der Seite wird der Referrer an den Server, der die Seite bereitstellt, übermittelt. Der Referrer wird ebenfalls bei Dateien übermittelt, die in die abgerufene Seite eingebunden sind (z. B. Bilder, JavaScript-Bibliotheken, externe Stylesheets), ohne dass es einer gesonderten Benutzeraktion bedarf.

Der Referrer ist ein optionaler[1] Teil der an den Webserver geschickten HTTP-Anfrage. Obschon optional, ist die Übermittlung bei allen gängigen Browsern voreingestellt. Nur wenn die aktuelle Seite per HTTPS abgerufen und die abzurufende Seite per HTTP zu übermitteln ist, soll die Übermittlung des Referrers unterbleiben[2]. Wird die abzurufende Seite hingegen ebenfalls per HTTPS übertragen, findet – unabhängig vom Host – eine Übermittlung des Referrers statt. Die Übermittlung des Referrers „Hinter dem Rücken“ des Benutzers und des Betreibers ist ein Grund für das Durchsickern personenbezogener Daten aus nicht-öffentlichen Web-basierten Systemen[3].

Das RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) erklärt den technischen Hintergrund.

Beispiel einer HTTP-Anfrage mit Referrer-Übergabe[Bearbeiten]

Angenommen, die Webseite http://example.org/referring_page enthält einen Link auf diesen Wikipedia-Artikel: http://de.wikipedia.org/wiki/Referrer. Wenn der Benutzer diesen Link in seinem Webbrowser auswählt (anklickt), dann wird vom Browser eine Verbindung zu dem Webserver aufgebaut, der unter dem Namen de.wikipedia.org erreichbar ist, und die gewünschte Seite angefordert. In diesem Beispiel sendet der Webbrowser folgende Anforderung in der Syntax des Hypertext Transfer Protocols (HTTP):

GET /wiki/Referrer HTTP/1.1
Host: de.wikipedia.org
Referer: http://example.org/referring_page

(Zur Schreibweise siehe weiter unten.) Welche Angaben in der Anforderung gesendet werden, hängt vom verwendeten Webbrowser und dessen Konfiguration ab. So kann die Übermittlung des Referrers in jedem gängigen Webbrowser – mit Bordmitteln oder mit Hilfsprogrammen – abgeschaltet werden.

Was mit dem Referrer geschieht[Bearbeiten]

In der Regel speichert jeder Webserver in einer Protokolldatei eine Zeile je Abruf, in der neben IP-Adressen, Statusangaben und der User-Agent-Angabe, also dem verwendeten Webbrowser, auch der Referrer gespeichert wird. Der Webserver bzw. sein Betreiber kann die erhaltenen Angaben auf jede erdenkliche Weise verarbeiten. Dies dient vor allem der statistischen Auswertung; der Betreiber der Webseite erfährt, welche fremden Webseiten auf seine Seite verweisen. Der Webserver kann aber auch eine vom Referrer abhängige Antwort liefern. Manche Bilder lassen sich nur abrufen, wenn der Referrer auf der gleichen Website ist; der Betreiber will damit verhindern, dass fremde Seiten die eigenen Bilder einbinden. Dieses Verfahren ist jedoch unter Umständen problematisch, da die Angabe des Referrers durch den User-Agenten erfolgt, laut Protokollspezifikation grundsätzlich freiwillig ist und beispielsweise bei Einsatz eines Proxyservers unterdrückt sein kann.

Referrer-Spam ist eine besondere Form des aggressiven Marketings und wird vor allem von pornografischen Internetangeboten genutzt. Hierbei hinterlässt ein Spambot einen Referrer mit dem URL des Angebots auf möglichst vielen Websites. Wenn eine dieser betroffenen Websites ihre Referrer veröffentlicht, was besonders bei Weblogs beliebt ist, so befinden sich darunter die Spamlinks zu den Pornografieseiten.

Dereferrer[Bearbeiten]

Je nach Web-Browser ist eine Übermittlung des Referrers abschaltbar. Ein Dereferrer ist ein Dienst, der die Verlinkung einer Website erlaubt, ohne dass diese Website sinnvolle Referrerinformationen bekommt, auch wenn die Übermittlung im Browser aktiv ist.

Eine Verlinkung der Seite http://de.wikipedia.org/ über den fiktiven Dereferrerdienst http://www.example.org/ könnte zum Beispiel so aussehen:

http://www.example.org/?http://de.wikipedia.org/

Hier ruft der Webbrowser zunächst die example.org-Seite auf und wird dann auf de.wikipedia.org weitergeleitet. Für den Wikipediaserver sieht es so aus, als ob die Verlinkung von example.org ausgehe. Dies wird z. B. dazu angewandt, um geheime Daten in der ursprünglichen URL zu verbergen, wie z. B. eine Session-ID im Querystring oder die bloße Existenz der verweisenden Website. Als Beispiel seien hier Webmail-Anbieter genannt: Bei der Darstellung von E-Mails in ihren Webseiten ersetzen sie ggf. enthaltene Hyperlinks durch eine Umleitung über einen anbietereigenen Dereferrer-Dienst. Dadurch wird verhindert, dass eine böswillige Website über die im Referrer übermittelte Session-ID die Webmailing-Sitzung übernimmt (Session Hijacking), wenn ein Link auf die böswillige Website in der dargestellten E-Mail angeklickt wird. Vorteil gegenüber der browserseitigen Konfiguration: Der Benutzer muss weder das Wissen haben, wie die Referrerübermittlung auf Browserseite zu deaktivieren ist, noch kann er die Deaktivierung vergessen.

Bei der Benutzung von Dereferrern muss beachtet werden, dass Anker nur dann funktionieren, wenn die # durch %23 ersetzt wurde, da der Webbrowser sonst versucht, den Anker bereits auf der Dereferrer-Seite zu finden. Auch sollte bei der Wahl eines Dereferrer-Dienstes beachtet werden, dass es dem Anbieter möglich ist, Informationen über Ausgangs- und Zielseite sowie die Zeit und die IP des Benutzers zu sammeln.

Letzteres kann vermieden werden, indem man Zusatzmodule für Webbrowser, sogenannte Add-ons, nutzt (für Firefox beispielsweise Refcontrol[4]), die generell verhindern, dass ein Referrer übertragen wird, und dies nur auf Nutzerwunsch zulassen. Dies ist unter anderem aus Datenschutzerwägungen interessant, da andernfalls die Möglichkeit besteht, die Referrer mit den Nutzer-IP-Adressen in Verbindung zu bringen.

Referrer-Spoofing[Bearbeiten]

Unter Referrer-Spoofing, einer Form des URL-Spoofings, versteht man das Vortäuschen von Referrern beim Übermitteln des HTTP-Request. Die Zielsetzung eine derartigen Vorgehens ist es beispielsweise, unautorisierten Zugriff auf eine Webseite zu erlangen, sowie die Verschleierung der Information, welchem Weblink man gefolgt ist. Dies kann durch entsprechende Erweiterungen für den Browser oder durch Proxys (z. B. Proxomitron) erreicht werden (siehe auch Cross-Site Request Forgery).

Schreibweise[Bearbeiten]

Die korrekte englische Schreibweise lautet Referrer. Der ursprüngliche RFC (RFC 2068) enthielt jedoch versehentlich die falsche Schreibweise Referer und erhebt diesen Wortlaut damit zum Standard innerhalb von HTTP. In anderen Standards wie im DOM wird die korrekte Schreibweise verwendet (hier: document.referrer[5]).

Referenzen[Bearbeiten]

  1. „The Referer[sic] request-header field allows the client to specify […] the address (URI) of the resource from which the Request-URI was obtained […]“ RFC 2616 § 14.36
  2. „Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol.“ RFC 2616 § 15.1.3
  3. Balachander Krishnamurthy: Privacy leakage on the Internet http://www.ietf.org/proceedings/77/slides/plenaryt-5.pdf S. 47 ff.
  4. https://addons.mozilla.org/de/firefox/addon/refcontrol/
  5. Document Object Model (HTML) Level 1

Weblinks[Bearbeiten]