Mixed content – co to jest i dlaczego Chrome go blokuje?

Aleksandra Chłapińska

Przeglądarka Google Chrome już od pewnego czasu blokuje niektóre rodzaje mixed content, czyli mieszanych treści w internecie. W 2019 r. Google ogłosiło, że sprawa staje się jeszcze poważniejsza! Od początku 2020 r. Chrome miał domyślnie blokować mieszane treści, ograniczając wyświetlanie niektórych istniejących stron internetowych. Czy tak rzeczywiście jest? Co w ogóle znaczy mixed content?

Czym jest mixed content?

Istnieją dwa rodzaje treści dostarczanych w internecie:

  • treść dostarczana za pośrednictwem bezpiecznego, szyfrowanego połączenia z protokołem HTTPS;
  • treść dostarczana za pomocą niezaszyfrowanego połączenia HTTP

Kiedy użytkownik korzysta ze strony opatrzonej protokołem HTTPS, połączenie z serwerem jest bezpieczne i szyfrowane za pomocą protokołu TLS. Co to oznacza? Podczas korzystania z HTTPS treści nie mogą być podsłuchiwane ani podglądane. Tym samym są chronione przed wyciekiem informacji i atakami typu man-in-the-middle (oznacza to tzw. ataki kryptologiczne, które polegają na podsłuchu i modyfikacji wiadomości przesyłanych pomiędzy dwiema stronami, całkowicie bez ich wiedzy). 

Coraz więcej stron korzysta z bezpiecznego protokołu HTTPS. Jeśli łączysz się ze starszą witryną, która pobiera treści poprzez zwykłe, niezabezpieczone połączenie, Google Chrome ostrzega teraz, że te witryny są niebezpieczne. 

Czasem może się zdarzyć, że pomimo zainstalowania na stronie certyfikatu SSL, w przeglądarce nadal wyświetla się komunikat o stronie niebezpiecznej (jak ma to miejsce w Google Chrome). Może to być ikona litery i umieszczonej w kółku lub ikoka kłódki z trójkątem ostrzegawczym. Oznacza to, że część plików znajdujących się na stronie, zostało pobranych z użyciem protokołu HTTP, nie zaś HTTPS. I to jest właśnie moment, w którym mamy do czynienia z mixed contentem.

Odpowiednio zabezpieczona strona, która nie posiada mixed contentu, będzie w Google Chrome oznaczona zamkniętą kłódką. Strona zawierająca treści mieszane jest określana jako niebezpieczna.
Po kliknięciu w informację o niezabezpieczonej stronie, pojawia się powyższy komunikat. Jak widać, strona jest określona jako niebezpieczna, pomimo ważnego certyfikatu SSL.
Mixed content, czyli mieszana zawartość, to sytuacja, w której na stronie posiadającej certyfikat SSL (używającej protokołu HTTPS) część treści pobieranych jest z protokołem HTTP.

Rodzaje stron z mixed content

W przypadku zawartości mieszanej można wyróżnić dwa osobne typy stron:

  • mieszane pasywne (służące tylko do wyświetlania),
  • mieszane aktywne.

Różnica pomiędzy powyższymi przypadkami wynika z poziomu zagrożenia dla użytkownika. W najgorszym wypadku podczas ataku osób postronnych (określonych jako atak man-in-the-middle), część treści na stronie może zostać zmieniona. Jeśli mamy do czynienia ze stroną pasywną, zagrożenie dla użytkownika jest niewielkie – strona, na której się znajduje, może wyglądać na uszkodzoną lub zawierającą błędy. W przypadku strony o aktywnej zawartości, zagrożenie jest znaczne. Zmiana treści w obrębie serwisu może prowadzić do phishingu – ujawnienia wrażliwych danych, przekierowania na zainfekowane strony.

Jakie treści są uznawane za pasywne?

  • <img> (atrybut src),
  • <audio> (atrybut src),
  • <video> (atrybut src),
  • <object> subresources (gdy <object> wykonuje żądania HTTP).

Jakie treści są uznawane za aktywne?

Niektórych typy żądań HTTP, które są uważane za treść aktywną:

  • <script> (atrybut src),
  • <link> (atrybut href) (w tym arkusze stylów CSS),
  • <iframe> (atrybut src),
  • żądania XMLHttpRequest,
  • wszystkie przypadki w CSS, gdzie wartość url jest używana (@ font-face, cursor, background-image, etc.),
  • <object> (atrybut data).

Dlaczego mixed content jest „zły”?

Mieszane treści są w mylące: przeglądasz stronę internetową, która jest zarówno bezpieczna, jak i niezabezpieczona. Przykład: na co dzień bezpieczna strona internetowa może pobrać plik JavaScript poprzez protokół HTTP. Ale skrypt ten można zmodyfikować – choćby przy pomocy publicznej sieci wi-fi, która nie jest godna zaufania. 

Jeśli strona internetowa korzysta z HTTPS, wszystkie jej zasoby powinny być również pobierane przez HTTPS. Zauważył to Google, który postanowił wpłynąć na właścicieli stron internetowych, aby prawidłowo przenosili swoje serwisy na protokół HTTPS. Google i inni dostawcy przeglądarek (np. Mozilla lub Safari) utrudniają wyświetlanie mieszanych treści – witryny będą musiały uczynić wszystko, aby ich strony nadal domyślnie działały.

Google + mixed content = mieszanka wybuchowa?

Rosnąca liczba cyberprzestępstw i przeszłe naruszenia zabezpieczeń Google spowodowały, że gigant dołożył wszelkich starań, aby dalej zapobiegać próbom włamania, łamania haseł i kradzieży tożsamości. W przeglądarce Chrome zaczęto podejmować surowe środki ostrożności dotyczące bezpieczeństwa i prywatności swoich użytkowników już w grudniu 2019 roku. Niedawno Google ogłosiło nowe funkcje ochrony prywatności w poleceniach głosowych na YouTube, Mapach i Asystencie Google. Teraz dąży do ochrony interesów użytkowników poprzez zwiększenie bezpieczeństwa podczas przeglądania w Chrome mieszanych treści. 

Google zapewnia, że ​​najczęściej wyszukiwane są witryny z certyfikatem SSL, co oznacza, że ​​ich odpowiednie serwery działają na protokole bezpiecznym – HTTPS.

Jak Google zablokuje mieszane treści w Chrome?

Według oficjalnego bloga Google wyszukiwarka planuje uruchomić nową funkcję blokowania mieszanych treści w trzech różnych etapach (pierwszy ruszył w grudniu 2019), w kolejnych nadchodzących wersjach przeglądarki:

  1. Chrome 79
  2. Chrome 80
  3. Chrome 81.

Blokowanie mixed content w Chrome 79

Pierwszym krokiem w Chrome 79 będzie zablokowanie mieszanych skryptów i ramek iframe w sesjach Chrome. Google robi to już w przypadku skryptów mieszanych. Gdy blokuje takie treści, wyświetla komunikat „Niebezpieczna treść zablokowana”, a na pasku adresu URL widoczny jest znak tarczy.

W przypadku Chrome 79 taka treść od grudnia 2019 będzie domyślnie zablokowana. W sytuacji, gdy użytkownik zechce odblokować zawartość mieszaną, będzie musiał zrobić to ręcznie w ustawieniach witryny.

Blokowanie mixed content w Chrome 80

Od stycznia 2020 r. Google zablokuje w Chrome 80 te mieszane treśc, które są dostępne w formie audio lub wideo. Jeśli dostępna treść nie ładuje się poprzez https, Chrome domyślnie ją zablokuje. Użytkownicy będą mieli możliwość odblokowania takiej mieszanej zawartości, klikając przycisk blokady, znajdujący się na poniższym obrazku.

W przypadku Chrome 80 blokowane są materiały audio i wideo, dostępne w trybie mieszanym.

Google zapowiedział, że nie będzie blokować mieszanych treści w formie obrazów od Chrome 80… ale w przypadku, gdy strona internetowa posiada mixed content odnośnie obrazów, Google Chrome oznaczy tę witrynę jako  „Niezabezpieczone”.

Blokowanie mixed content w Chrome 81

W wersji, która zostanie uruchomiona w późniejszym terminie w 2020 r., Google ostatecznie zablokuje mixed content, aby zapewnić pełne bezpieczeństwo stron internetowych i sesji przeglądarki.

Wygląda na to, że Google próbuje przetestować swoje możliwości, zanim osiągnie cel, jakim jest zablokowanie wszystkich mieszanych treści w sesjach Chrome. Stąd rozbicie kodwania tej funkcji w trzech krokach. 

Powyższy komunikat ma być wyświetlany na stronach zawierających mixed content w Chrome 81.

Na oficjalnym blogu Google programiści zostali ostrzeżeni, aby wyczyścić swoje strony internetowe i naprawić zawartość internetową w zarządzanych przez siebie witrynach, aby dostosować się do nowych zasad Google.

Twoja strona zawiera mixed content? Sprawdź, co zrobić!

Skoro już wiesz, czym jest mixed content i dlaczego Google postanowił z nim walczyć… czas dowiedzieć się, czy Twoja strona niebawem nie zostanie uznana za niebezpieczną. Zobacz, jak na własną rękę możesz spróbować uporać się z mixed content.

Jak sprawdzić, czy Twoja strona ma problem z mixed content?

Na szczęście ten sposób jest prosty. Do sprawdzenia wykorzystaj przeglądarkę Google Chrome.

W prawym górnym rogu swojej przeglądarki znajdziesz trzy kropki – po kliknięciu w nie, wybierz opcję Więcej narzędzi, a następnie Narzędzia dla deweloperów. Możesz też skorzystać od razu ze skrótu klawiszowego Ctrl+Shift+I. 

Jeśli na Twojej stronie nie występuje mixed content – w narzędziu dla deweloperów, w zakładce Console, nie pojawi się stosowna informacja:

Komunikat w tej sekcji będzie wyglądać zupełnie inaczej, jeśli mixed content wystąpi. 

Dla contentu mieszanego pasywnego:

Źródło: Źródło: blog Google dla developerów Web Fundamentals.

Dla contentu mieszanego aktywnego:

Źródło: blog Google dla developerów Web Fundamentals.

Inne sposoby, by sprawdzić, czy strona ma problem z mieszanym contentem

Oprócz narzędzia dla deweloperów, dostępnego w ramach przeglądarki Chrome, mixed content można sprawdzić również korzystając z:

  • JitBit SSL Checker – skanera mieszanej zawartości online,
  • Really Simple SSL – wtyczki WordPress,
  • Test SSL Cloudflare – bezpłatne narzędzie do identyfikowania problemów z SSL,
  • Screaming Frog – znajdzie mieszane treści, ale ich nie naprawi.

Jak naprawić mixed content na swojej stronie?

Możesz też ręcznie wyszukać mixed content na stronie, choć może zająć sporo czasu. Poniżej opisałam instrukcję naprawy mieszanego contentu, którą rekomenduje Google

Znalezienie i poprawienie mixed content jest możliwe, ale wymaga znajomości kodu, jest czasochłonne i dla niektórych może być trudne. Jeśli czujesz, że pomimo poniższej konstrukcji możesz popełnić błąd – nie ryzykuj! Powierz zadanie profesjonalnemu deweloperowi lub innemu specjaliście WWW, który z pomocą odpowiednich narzędzi i technik upora się z mixed content na Twojej stronie.

Wyeliminowanie mixed content ze swojej strony stanie się za chwilę być albo nie być serwisów www. Z czasem przeglądarki będa bardziej restrykcyjne w odniesieniu do mieszanej treści i do tego zmierza też Google – na oficjalnym blogu Google ujawniono, że komunikat „Niezabezpieczony” „zmotywuje strony internetowe do migracji swoich zdjęć do HTTPS”.

Czy ten artykuł okazał się przydatny?

Oceń artykuł korzystając z gwiazdek

Średnia ocena 5 / 5. Liczba głosów: 5


Linkedin Twitter