Czy Referer nagłówka HTTP jest wysyłany podczas przechodzenia do strony http ze strony https?

Po kilku testach dochodzę do wniosku, że przeglądarka nie wysyła nagłówka HTTP Referera, gdy kliknie się na stronę http z https.

Jaki to powód bezpieczeństwa? Czy jest zdefiniowany gdzieś w standardzie?

Author: AviD, 2009-09-01

4 answers

HTTP RFC stwierdza, w sekcji 15.1.3 kodowanie poufnych informacji w URI :

Klienci nie powinni zawierać Referera pole nagłówka w (niezabezpieczonym) HTTP wniosek, jeżeli strona odsyłająca była przesłane bezpiecznym protokołem.

Jest to więc zachowanie oczekiwane / standardowe.

 53
Author: Pascal MARTIN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-01 10:31:24

W rzeczywistości nie jest już tak prosto (począwszy od 2014 roku), zgodnie z tym dokumentem w3c dotyczącym polityki odsyłania .

Domyślnym zachowaniem jest to, że przeglądarki nie będą wysyłać informacji odsyłających podczas przechodzenia z HTTPS do HTTP. Jednak przeglądarki będą wysyłać referrer podczas przechodzenia z HTTPS do HTTPS.

Również, w HTML5, istnieje nowy Meta tag o nazwie referrer, który wygląda tak:

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

Nowe przeglądarki już zaimplementowały to . Więc czy przeglądarki będą wysyłać referrer, będzie zależeć od tego meta tagu w najbliższej przyszłości. Jeśli ten meta tag nie jest zawarty w HTML strony, przeglądarki będą używać domyślnego zachowania.

Poniżej znajdują się Możliwe wartości atrybutu zawartości znacznika meta referrer:

    Nie jest możliwe wysyłanie odsyłaczy, niezależnie od HTTP lub HTTPS.]}
  • origin: tylko domena origin (główna) zostanie wysłana jako referrer
  • origin-when-crossorigin: to samo pochodzenie wyśle pełny referrer Adres URL i cross origin będą wysyłać tylko adres URL pochodzenia jako referrer
  • no-referrer-when-downgrade: jest to domyślne zachowanie, gdy na stronie nie ma meta znacznika referrer.
  • W tym celu należy skontaktować się z Działem obsługi klienta pod adresem: .]}

Istnieją również pewne starsze wartości atrybutów dla meta tagu referrer. Nie są one już zalecane, ale używane w wielu witrynach w tej chwili:

  • nigdy: to samo co No-referrer
  • default: same as no-referrer-when-downgrade
  • always: same as unsafe-url

Mam nadzieję, że ta informacja będzie pomocna dla kogoś, kto właśnie znalazł ten post po 2014 roku.

 20
Author: Fayaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-16 21:09:33

Tak, zdefiniowany w standardzie :

Klienci nie powinni zawierać Referera pole nagłówka w (niezabezpieczonym) HTTP wniosek, jeżeli strona odsyłająca była przesyłane za pomocą bezpiecznego protokołu

 17
Author: AviD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-01 10:30:28

Powód: czasami Sessionidy są kodowane URL. Strony HTTP mogą mieć Skrypty cross site, które wykradają sesję z komunikacji HTTPS. Aby temu zapobiec, referrer nie jest przesyłany po przejściu HTTPS do HTTP, dzięki czemu kodowany adres URL sessin ID nie może zostać skradziony.

 4
Author: Thomas Maierhofer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-01 10:37:35