it-swarm.com.de

In welchen Fällen ist HTTP_REFERER leer?

Ich weiß, dass es möglich ist, einen leeren HTTP_REFERER zu erhalten. Unter welchen Umständen geschieht dies? Wenn ich ein leeres bekomme, bedeutet das immer, dass der Benutzer es geändert hat? Ist es gleichbedeutend damit, eine leere zu bekommen, wie eine leere? und unter welchen umständen bekomme ich das auch?

143
sameold

Es wird/kann leer sein, wenn der Endbenutzer

  • geben Sie die URL der Site in die Adressleiste des Browsers ein.
  • besuchte die Website von einem Browser gepflegten Lesezeichen.
  • besuchte die Seite als erste Seite im Fenster/Reiter.
  • klickte auf einen Link in einer externen Anwendung.
  • von einer https-URL zu einer http-URL gewechselt.
  • von einer https-URL zu einer anderen https-URL gewechselt.
  • hat Sicherheitssoftware installiert (Antivirus/Firewall/etc), die den Referrer von allen Anfragen befreit.
  • steht hinter einem Proxy, der den Referrer von allen Anfragen befreit.
  • besuchte die Site programmatisch (wie curl ), ohne den Referrer-Header zu setzen (Searchbots!).
243
BalusC

HTTP_REFERER - wird vom Browser gesendet und gibt die zuletzt vom Browser betrachtete Seite an!

Wenn Sie [HTTP_REFERER] aus irgendeinem wichtigen Grund vertrauen, sollten Sie dies nicht tun, da dies leicht gefälscht werden kann:

  1. Einige Browser beschränken den Zugriff auf die Weitergabe von HTTP_REFERER
  2. Geben Sie eine Adresse in die Adressleiste ein, um den HTTP_REFERER nicht zu übergeben
  3. beim Öffnen eines neuen Browserfensters wird der HTTP_REFERER nicht übergeben, da HTTP_REFERER = NULL ist
  4. hat ein Browser-Addon, das es aus Datenschutzgründen blockiert. Einige Firewalls und AVs tun das auch.

Versuchen Sie diese Firefox-Erweiterung, Sie können alle gewünschten Header setzen:

@Master of Celebration:

Firefox:

extensions:refspoof , refontrol , change headers , no referer

Vollständige Deaktivierung: Die Option ist in about: config unter "network.http.sendRefererHeader" verfügbar, und Sie möchten dies auf 0 setzen, um die Übergabe von Referern zu deaktivieren.

Google chrome/Chromium:

extensions:noref , spoofy , external noreferrer

Deaktiviere: Ändere ~/.config/google-chrome/Default/Preferences oder ~/.config/chrom/Default/Preferences und setze dies:

{
   ...
   "enable_referrers": false,
   ...
}

Oder fügen Sie einfach --no-referrers zur Verknüpfung oder in cli hinzu:

google-chrome --no-referrers

Opera:

Vollständig deaktivieren: Einstellungen> Einstellungen> Erweitert> Netzwerk und deaktivieren Sie "Referrer-Informationen senden"

Spoofing-Webdienst:

http://referer.us/

Standalone-Filter-Proxy (fälschen Sie alle Header):

Privoxy

Spoofing http_referer bei Verwendung von wget

"--Referer = url"

Spoofing http_referer bei Verwendung von Curl

-e, --referer

Spoofing von http_referer mit Telnet

telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
30
ThatGuy

Die Liste von BalusC ist solide. Eine weitere Möglichkeit, wie dieses Feld häufig leer angezeigt wird, besteht darin, dass sich der Benutzer hinter einem Proxyserver befindet. Das ist ähnlich wie hinter einer Firewall, ist aber etwas anders, deshalb wollte ich es der Vollständigkeit halber erwähnen.

9
Night Owl

Sie ist auch leer, wenn der neue Referrer Policy Standard Draft verwendet wird, um zu verhindern, dass der Referrer Header an den Request Origin gesendet wird. Beispiel:

<meta name="referrer" content="none">

Obwohl Chrome und Firefox bereits eine Entwurfsversion der Referrer-Richtlinie implementiert haben, sollten Sie damit vorsichtig sein, da beispielsweise Chrome no-referrer Erwartet. anstelle von none (und ich habe auch never irgendwo gesehen).

6
Joel Richard

Ich habe festgestellt, dass die Browser-Referrer-Implementierung wirklich inkonsistent ist.

Beispielsweise funktioniert ein Ankerelement mit dem Attribut "download" in Safari erwartungsgemäß und sendet den Referer, aber in Chrome) ist der Referer in den Webserverprotokollen leer oder "-".

<a href="http://foo.com/foo" download="bar">click to download</a>

Ist eingebrochen in Chrome - kein Referer gesendet.

0
jmoz