Instalki.pl » Aktualności » Software » Google Chrome nie pozwoli stronom blokować przycisku wstecz
Piątek, 10 Maj 2019 19:57, Wpisany przez Maksym Słomski
Google Chrome
Deweloperzy Chromium na ratunek.

Przypuszczam że każdy z Was wszedł kiedyś na jakąś stronę internetową, która zablokowała przycisk "wstecz". Mowa o sytuacji, w której szkodliwy kod wpędza przeglądarkę w pętle przekierowań lub manipuluje historią w taki sposób, że przycisk nawigacyjny w praktyce nie działa, a użytkownik jest w pewien sposób uwięziony w obrębie danej podstrony. Deweloperzy open source'owej przeglądarki Chromium znaleźli rozwiązanie tego problemu, które wkrótce trafi także do Chrome'a.

Najpierw jednak wyjaśnijmy sobie jak oszuści czynią przycisk "wstecz" bezużytecznym.

Pierwsza z metod to pętla przekierowań. Po kliknięciu w dane hiperłącze, po drodze do strony docelowej przechodzicie przez pewnego rodzaju niewidzialną "bramkę" przekierowującą. To właśnie ona kieruje Was dopiero do interesującej Was podstrony. Wciskając przycisk "wstecz" nie wracacie więc do pierwotnej strony wejścia, a właśnie do owej bramki, do której pośrednio kierowało trefne hiperłącze. Proste.

Google Chrome wstecz

Bardziej wyszukaną i skomplikowaną metodę stanowi manipulacja historią przekierowań. Przeglądarka internetowa rejestruje osobno historię przeglądania dla każdej z kart. Naciskając przycisk wstecz trafiacie do poprzedniej strony na zapisywanej liście. Odpowiednie zastosowanie HMTL5 pozwala stronom na dostęp do tej listy i nadpisywanie jej za pomocą komendy pushState. Dzięki niej strona każdorazowo może umieszczać się na samym szczycie listy historii przeglądania dla danej karty. Albo więc będziecie klikać przycisk "wstecz" na tyle szybko, że wyprzedzicie "wstrzykiwanie" szkodliwego kodu, albo będziecie zmuszeni zamknąć daną kartę przeglądarki, aby wyjść z pułapki.

Rozwiązanie dwóch powyższych problemów okazało się łatwiejsze, niż mogłoby się to wydawać. Zdolni programiści odpowiedzialni za rozwój przeglądarki Chromium wymusili na przycisku "wstecz" takie zachowanie, by powodował on automatycznie przeskakiwanie w pamięci przez strony, które dopisywały dodatkowy kod w historii przeglądania lub używały przekierowań, na które użytkownik przeglądarki nie wyraził zgody. Do tej pory przechodząc ze strony A przez link do strony B, strona B mogła automatycznie skorzystać z komendy pushState. Teraz jeśli użytkownik sam nie zgłosi lub zaakceptuje takiego zachowania, przeglądarka zignoruje wpis z tą komendą.

Zmiany w przeglądarce Google Chrome zostały już zatwierdzone i są gotowe do udostępnienia w stabilnej wersji programu. Powinno to nastąpić w przeciągu następnych kilku tygodni. Do tego czasu Google chce dać czas deweloperom na zapoznanie się z tą informacją.

Firma Google zapowiedziała przy okazji, że będzie zbierać informacje na temat stron, które manipulują historią przeglądania. Być może dzięki temu uda się w jakiś sposób karać twórców serwisów, którzy utrudniają internautą przeglądanie sieci.

Źródło: groups.Google.com