Was ist der zuverlässigste Weg, den Referrer in JavaScript zu verstecken / zu fälschen?

Normalerweise ist der referrer ist nachvollziehbar durch:

  • JavaScript document.referrer
  • Request-Header, z.B. PHP $_SERVER['HTTP_REFERER']

Ich habe ein Codepad demodas zeigt diese Eigenschaften, für Testzwecke.

Anforderungen:

  1. Der ursprüngliche referrer sollte effektiv ausgeblendet werden, zumindest für alle Maus-events.
  2. Cross-browser-Unterstützung (zumindest Chrome und Firefox).
  3. Stand-alone, ohne externen Inhalte (plugins, Bibliotheken, Weiterleitungen, ...).
  4. Keine Nebenwirkungen: Links sollten nicht umgeschrieben werden, history-Einträge werden sollten erhalten.

Die Lösung wird verwendet, um hide-referrer, wenn Sie einen link von <a href="url">.


Genaue Beschreibung des use-case

Wie beschrieben in diese Frage auf Webappslinks bei der Google-Suche werden geändert am klicken. Folglich

  1. Google ist in der Lage, verfolgen Sie Ihre Suche Verhaltensweisen (Datenschutz-- )
  2. Die Anforderung der Seite ist etwas verzögert.
  3. Der verlinkten Seite kann nicht verfolgen Sie Ihre Google-Suche query (Datenschutz++ )
  4. Gezogen/Kopiert URLs wie http://google.com/lotsoftrash?url=actualurl.

Entwickle ich ein Userscript (Firefox) /Content-script (Chrome) (code)was entfernt Google die link-Verstümmelung Veranstaltung. Als Ergebnis, die Punkte 1, 2 und 4 behandelt werden.

Punkt 3 bleibt.

  • Chrome: <a >
  • Firefox: data-URIs. Habe ich einen anspruchsvollen Ansatz, um diese Funktion zu implementieren, die für Links - und Mitte-Klicks, während immer noch die Durchsetzung von Punkt 4. Allerdings bin ich schwer mit dem rechts-Klick-Methode.

InformationsquelleAutor der Frage Rob W | 2012-01-17

Schreibe einen Kommentar