W jakich przypadkach HTTP_REFERER będzie puste


Odpowiedzi:


277

Będzie / może być pusty, gdy użytkownik końcowy

  • wprowadził adres URL witryny w samym pasku adresu przeglądarki.
  • odwiedzili witrynę za pomocą zakładki obsługiwanej przez przeglądarkę.
  • odwiedził witrynę jako pierwszą stronę w oknie / karcie.
  • kliknął łącze w zewnętrznej aplikacji.
  • przełączono z adresu URL https na adres URL http.
  • przełączono z adresu URL https na inny adres URL https.
  • ma zainstalowane oprogramowanie zabezpieczające (antywirus / zapora ogniowa / itp.), które usuwa stronę odsyłającą z wszystkich żądań.
  • znajduje się za proxy, które usuwa stronę odsyłającą ze wszystkich żądań.
  • odwiedził witrynę programowo (np. curl ) bez ustawiania nagłówka strony odsyłającej (roboty wyszukiwania!).

32
Możesz chcieć dodać „gdy użytkownik przechodzi z bezpiecznej (HTTPS) strony na niezabezpieczoną”.
— John Pick

4
„odwiedził witrynę jako pierwszą stronę w oknie / karcie”. Nawet gdyby było to kliknięcie w link i otwarcie go w nowym oknie / karcie? Jesteś pewny? To byłoby bardzo złe zachowanie przeglądarki
— matteo

Zobacz także tutaj stackoverflow.com/questions/21922143/ ... wyjątki od tego
— GetFree

4
„przełączono z adresu URL https na inny adres URL https”. Jesteś tego pewien? : \
— Oscar Mederos

5
Domyślnie przełączenie z adresu URL HTTPS na inny adres URL HTTPS powoduje ustawienie pełnego odsyłacza. Ta domyślna zasada może jednak zostać zastąpiona. w3.org/TR/referrer-policy
— Dhaval Kapil

34

HTTP_REFERER - wysyłany przez przeglądarkę, podający ostatnią stronę przeglądaną przez przeglądarkę!

Jeśli ufasz [HTTP_REFERER] z jakiegokolwiek ważnego powodu, nie powinieneś, ponieważ można to łatwo sfałszować:

  1. Niektóre przeglądarki ograniczają dostęp, aby nie zezwalać na przekazywanie HTTP_REFERER
  2. Wpisz adres w pasku adresu nie przejdzie HTTP_REFERER
  3. otwarcie nowego okna przeglądarki nie przejdzie HTTP_REFERER, ponieważ HTTP_REFERER = NULL
  4. ma dodatek do przeglądarki, który blokuje go ze względu na ochronę prywatności. Niektóre zapory i AV to robią.

Wypróbuj to rozszerzenie do Firefoksa, będziesz mógł ustawić dowolne nagłówki:

@ Mistrz świętowania:

Firefox:

rozszerzenia: refspoof , refontrol , modyfikuj nagłówki , no-referer

Całkowicie wyłącz: opcja jest dostępna w about: config pod "network.http.sendRefererHeader" i chcesz ustawić ją na 0, aby wyłączyć przekazywanie referer.

Google chrome / Chromium:

rozszerzenia: noref , spoofy , external noreferrer

Całkowicie wyłącz: Chnage ~ / .config / google-chrome / Default / Preferences lub ~ / .config / chromium / Default / Preferences i ustaw to:

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

Lub po prostu dodaj --no-referrers do skrótu lub w cli:

google-chrome --no-referrers

Opera:

Całkowicie wyłącz: Ustawienia> Preferencje> Zaawansowane> Sieć i odznacz „Wyślij informacje o stronie odsyłającej”

Fałszywa usługa internetowa:

http://referer.us/

Samodzielne filtrowanie proxy (fałszowanie dowolnego nagłówka):

Privoxy

Podszywanie się pod http_referer podczas korzystania z wget

„--referer = url”

Podszywanie się pod http_referer podczas używania curl

-e, --referer

Podszywanie się pod http_referer za pomocą telnetu

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)

Tamper Data to kolejne rozszerzenie Firefoksa, które warto sprawdzić, jeśli chcesz bawić się zmieniającymi się wartościami stron odsyłających.
— Chris Hepner

Naprawdę starałem się zapamiętać jego imię. ale moja pamięć mnie zdradziła. Dzięki :)
— ThatGuy

@nix Some browsers limit access to not allow HTTP_REFERER to be passedCzy mógłbyś podać przykład takiej przeglądarki i / lub rozszerzenia?
— Master of Celebration

@MasterofCelebration dodał sposoby na sfałszowanie http_referer w mojej odpowiedzi.
— ThatGuy

Nie używaj referer.us do fałszowania / ukrywania swojej strony polecającej! To nie działa i powoduje wyciek informacji. Jedyną działającą obecnie usługą jest ta bezpłatna usługa odsyłania do ukrywania .
— Brian Smith

9

Lista BalusC jest solidna. Dodatkowym sposobem, w jaki to pole często wydaje się puste, jest sytuacja, gdy użytkownik znajduje się za serwerem proxy. Jest to podobne do przebywania za zaporą ogniową, ale jest nieco inne, więc chciałem o tym wspomnieć ze względu na kompletność.


8

Będzie również puste, jeśli zostanie użyta nowa wersja robocza standardu referrer Policy, aby zapobiec wysyłaniu nagłówka referer do źródła żądania. Przykład:

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

Chociaż Chrome i Firefox wdrożyły już wersję roboczą Polityki odsyłających, należy z nią uważać, ponieważ na przykład Chrome oczekuje no-referrerzamiast none(i nevergdzieś też widziałem ).



0

Zauważyłem, że referer przeglądarki jest naprawdę niespójny.

Na przykład element zakotwiczenia z atrybutem „download” działa zgodnie z oczekiwaniami w przeglądarce Safari i wysyła osobę odsyłającą, ale w przeglądarce Chrome strona odsyłająca będzie pusta lub w dziennikach serwera WWW będzie oznaczony „-”.

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

W Chrome jest uszkodzony - nie wysłano żadnego recenzenta.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.