Wysłałem żądanie POST do strony HTTP (nie HTTPS), sprawdziłem to żądanie w Narzędziach programisty Chrome i stwierdziłem, że dodało własny nagłówek przed wysłaniem go na serwer:
Upgrade-Insecure-Requests: 1
Po przeprowadzeniu wyszukiwania Upgrade-Insecure-Requests
mogę znaleźć tylko informacje o serwerze wysyłającym ten nagłówek:
Content-Security-Policy: upgrade-insecure-requests
Wydaje się to powiązane, ale nadal bardzo różne, ponieważ w moim przypadku KLIENT wysyła nagłówek w żądaniu , podczas gdy wszystkie informacje, które znalazłem, dotyczą SERWERA wysyłającego powiązany nagłówek w odpowiedzi .
Dlaczego więc Chrome (44.0.2403.130 m) dodaje się Upgrade-Insecure-Requests
do mojego żądania i co robi?
Aktualizacja 24.08.2016:
Nagłówek ten został dodany jako rekomendacja dla kandydatów W3C i jest teraz oficjalnie uznawany.
Dla tych, którzy właśnie natknęli się na to pytanie i są zdezorientowani, doskonała odpowiedź Simon East dobrze to wyjaśnia.
Upgrade-Insecure-Requests: 1
Nagłówek kiedyś HTTPS: 1
w poprzednim projekcie W3C roboczej i został przemianowany cicho przez Chrome przed zmianą stało się oficjalnie zaakceptowane.
(To pytanie zostało zadane podczas tego przejścia, gdy nie było oficjalnej dokumentacji tego nagłówka, a Chrome była jedyną przeglądarką, która wysłała ten nagłówek).
źródło
Odpowiedzi:
Krótka odpowiedź: jest ściśle związana z
Content-Security-Policy: upgrade-insecure-requests
nagłówkiem odpowiedzi, co oznacza, że przeglądarka obsługuje ją (i tak naprawdę woli).Zajęło mi to 30 minut Googling, ale w końcu znalazłem go pochowany w specyfikacji W3.
Pomyłka pojawia się, ponieważ nagłówek w specyfikacji był
HTTPS: 1
i tak Chromium go zaimplementował, ale po tym złamał wiele stron internetowych, które zostały źle zakodowane (szczególnie WordPress i WooCommerce) zespół Chromium przeprosił:Ich rozwiązaniem była zmiana nazwy na
Upgrade-Insecure-Requests: 1
, a specyfikacja została zaktualizowana, aby pasowała.Tak czy inaczej , oto wyjaśnienie ze specyfikacji W3 (jak się wtedy pojawiło) ...
źródło
a.com
i przekierowuję cięb.com
, podając ten nagłówekb.com
i wysyłając pewne informacje. Jeśli nie masz bezpiecznego kanałub.com
, atak wąchania może się już zdarzyć, ponieważ wysłałem dane dob.com
mojej prośby. Czy możesz poprowadzić nas do prostego scenariusza, w jaki sposób zwiększa bezpieczeństwo połączeń dla użytkowników?To wszystko wyjaśnia:
Źródło: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests
źródło