Mixed Content – zawartość mieszana – jak naprawić SSL na stronie WWW?

Szyfrowane i bezpieczne połączenie HTTPS ze stroną WWW, które jest możliwe przez zastosowanie certyfikatu SSL to pożądana konfiguracja witryny, na którą uwagę zwracają nie tylko odwiedzający witrynę, ale również przeglądarki i wyszukiwarki internetowe (np. Google).

Co to jest Mixed Content?

Mixed Content (tzw. treść mieszana) oznacza, że treści znajdujące się na stronie WWW wywoływane są zarówno za pomocą szyfrowanego protokołu https:// oraz nieszyfrowanego połączenia http://. W takich sytuacjach popularne przeglądarki internetowe (np. Google Chrome) mogą blokować lub wyświetlać komunikaty błędów, informujące użytkowników o niezabezpieczonym połączeniu.

Komunikat o niezabezpieczonym połączeniu przy stronie WWW w przeglądarce Google Chrome.

Komunikat o niezabezpieczonym połączeniu w przeglądarkach jest wyświetlany, gdy odwiedzasz każdą stronę WWW, która nie jest zabezpieczona certyfikatem SSL, czyli oferuje tylko nieszyfrowane połączenie. Taki sam komunikat w pasku adresu przeglądarki wyświetlany jest też podczas występowania Mixed Content w odwiedzanej witrynie.

Jeśli występuje mixed content na stronie WWW, to komunikaty o niebezpiecznym połączeniu w przeglądarkach są wyświetlane, ponieważ przeglądane takich witryn jest zagrożone „podsłuchaniem” i/lub wyciekiem przesyłanych informacji. Są to tzw. ataki man-in-the-middle, które umożliwiają nawet modyfikacje przesyłanych danych pomiędzy serwerem, a użytkownikiem końcowym.

Jak objawia się Mixed Content w przeglądarce?

Mixed Content pojawia się, gdy część plików i innych odwołań w witrynie pobierane są z użyciem nieszyfrowanego połączenia HTTP – pomimo użycia certyfikatu SSL na stronie WWW. W takiej sytuacji otwarta strona internetowa w przeglądarce jest określana jako niebezpieczna (nawet jeśli certyfikat SSL jest ważny i zainstalowany na serwerze).

Korzystanie z szyfrowanego połączenia HTTPS staje się coraz bardziej powszechne wśród stron internetowych. Głównym czynnikiem zmuszającym właścicieli stron WWW do wdrożenia certyfikatu SSL jest fakt, że witryny stosujące bezpieczne połączenia SSL są wyświetlane wyżej w wynikach wyszukiwania niż strony internetowe, które zapewniają tylko nieszyfrowane połączenia przez protokół HTTP.

Posiadając hosting w Domenomania.pl otrzymujesz bezpłatne certyfikaty SSL dla każdej domeny przypisanej do serwera. Darmowy certyfikat SSL generowany jest automatycznie (za darmo!).

Mixed content występuje na stronach WWW, które posiadają certyfikat SSL (stosują połączenie HTTPS) i część treści (wystarczy tylko jeden obrazek lub link zawarty na stronie) wywoływany jest z użyciem nieszyfrowanego protokołu HTTP.

Przykład komunikatu błędu Mixed Content w konsoli Google Chrome

Poniższy przykład mixed content przedstawia sytuację na stronie WWW, gdzie tylko jeden obrazek: partnerzy.png pobierany się za pomocą nieszyfrowanego połączenia HTTP.

Mixed Content: The page at 'https://mojadomena.pl/podstrona' was loaded over HTTPS, but requested an 
insecure image 'http://mojadomena.pl/wp-content/uploads/2020/07/image.png'. This content should also 
be served over HTTPS.

Przykład mixed content występujący na stronie otwartej w przeglądarce Google Chrome.

Jak w konsoli Chrome sprawdzić występowanie mixed content?

Konsolę w przeglądarce Google Chrome możesz uruchomić, klikając prawy przycisk myszy w dowolnym miejscu na stronie WWW i wybierając opcję: Zbadaj. Następnie należy przejść do zakładki: Console, w której możesz sprawdzić szczegóły komunikatu dotyczącego tzw. zawartości mieszanej (ang. mixed content).

Jeśli w konsoli przeglądarki Chrome (skrót klawiszowy: Ctrl+Shift+i) nie widzisz komunikatu związanego z Mixed Content, oznacza to, że otwarta podstrona nie zawiera żadnej mieszanej zawartości (ale może ona występować na innych podstronach serwisu).

Typy elementów z zawartością mieszaną (mixed content)

Z uwagi na poziom zagrożenia dla użytkownika odwiedzającego witrynę zawierającą mixed content, wyróżniamy dwa typy elementów przy treści mieszanej: pasywne i aktywne.

  • treści mieszane pasywne – stosowane są tylko do odczytu i zagrożenie dla użytkownika odwiedzającego witrynę jest stosunkowo małe. Strona WWW z treścią mieszaną pasywną może po prostu wyglądać na uszkodzoną (np. nie ładujące się wszystkie elementy).
  • treści mieszane aktywne – mogą zostać użyte do przesłania danych, gdzie zagrożenie jest poważne, ponieważ podmiana treści na takiej stronie WWW może skutkować przekierowaniem na inne witryny z wirusami lub może zostać zastosowany phishing (w celu wyłudzenia ważnych dla użytkownika danych).

Przykłady zagrożeń występujących na stronach z mixed content

Jednym z popularnych przykładów niebezpieczeństw przy występującym mixed content jest modyfikacja plików (np. pobranych skryptów) za pomocą niezabezpieczonej sieci WI-FI. W takiej sytuacji osoba postronna (np. haker) może zmodyfikować pliki, które zostały pobrane ze strony zawierającej zawartość mieszaną. Jeśli strona internetowa korzysta z HTTPS i pobiera wszystkie elementy za pomocą tego protokołu, to taka podmiana zawartości pobieranych plików jest niemożliwa (nawet, jeśli korzystasz z publicznej sieci WI-FI).

Innymi przykładami zagrożeń przy występującym mixed content są przeróżne próby włamań, łamania haseł za pomocą wstrzykniętych złośliwych skryptów oraz kradzież wrażliwych danych i tożsamości (np. za pomocą metodą phishingu). Z tego względu popularne przeglądarki starają się wpłynąć na wydawców stron internetowych w celu wyeliminowania przypadków mixed content w witrynach oraz zmuszając (tych co jeszcze tego nie zrobili) do wdrożenia certyfikatów SSL.

Jak naprawić mixed content na stronie WWW?

Za pomocą konsoli w przeglądarce Google Chrome możesz wyszukać występujący mixed content na stronie WWW i następnie ręcznie podmienić znalezione odwołania (zaczynające się od przedrostka http://) w plikach oraz bazie danych MySQL. Odpowiednia modyfikacja może wymagać znajomości programowania i dla niektórych użytkowników może być trudna do wykonania.

Jeśli jednak Twoja strona internetowa została zbudowana w oparciu o popularny system WordPress, to poniżej znajdziesz instrukcje jak samodzielnie naprawić mixed content w WordPress.

Prosta i niezalecana metoda naprawy mixed content w WordPress

Jeśli witryna z występującym mixed content została zbudowana w oparciu o WordPress, to najprostszą (ale niezalecaną) metodą jest zainstalowanie wtyczki, która „w locie” będzie podmieniała wszystkie odwołania zaczynające się od przedrostka http:// na właściwy https://. Można w tym celu zastosować wtyczki: Really Simple SSL lub WP Force SSL.

Zalecana metoda naprawy mixed content w WordPress

Najlepszą i zalecaną metodą naprawy mixed content w przypadku WordPress jest ręczna podmiana wszystkich odwołań http:// na https://, np. za pomocą narzędzia Better Search Replace.

  1. Zaloguj się do WordPress (wp-admin).
  2. Następnie skorzystaj z popularnej wtyczki: Better Search Replace, dzięki której możesz w szybki i prosty sposób zamienić wszystkie linki rozpoczynające się od http:// na https://. Zainstaluj wtyczkę Better Search Replace w swoim WordPress.
    W WordPress zainstaluj wtyczkę Better Search Replace, która zamieni wszystkie odwołania http na https w bazie danych.
  3. Po zainstalowaniu wtyczki: Better Search Replace, uruchom ją (WordPress -> Narzędzia -> Better Search Replace). Po przejściu do wtyczki, uzupełnij formularz zgodnie z poniższą instrukcją:
    • w pierwszym polu wpisz adres swojej domeny rozpoczynający się od http://, natomiast w drugim polu adres swojej domeny z przedrostkiem https://. Możesz też spróbować wpisać same przedrostki http:// oraz https:// (bez Twojej domeny), jeśli w mixed content znajdują się odwołania, które pochodzą z innych domen.
    • w sekcji: Select tables zaznacz wszystkie tabele w bazie danych.
    • odznacz opcję: Run as dry run? – w przeciwnym wypadku wtyczka sprawdzi tylko występowanie domeny z przedrostkiem http://, ale nie zamieni jej na https:// we wszystkich znalezionych pozycjach.
    • kliknij przycisk: Run Seasrch/Replace, aby rozpocząć zamienianie występowania domeny z przedrostkiem http:// na https://.

    Uruchom wtyczkę Better Search Replace i wpisz nazwę domeny z przedrostkiem http:// oraz https://

    WAŻNE! Jeśli Twoja strona internetowa ma na początku przedrostek „www”, to należy go wpisać w obu polach. Przykładowo, adresy wpisane w obu polach powinny wyglądać tak: http://www.mojadomena.pl oraz https://www.mojadomena.pl.

  4. Jeśli Twoja strona internetowa oparta o WordPress została zbudowana z użyciem popularnego edytora Elementor, to powinieneś dodatkowo zamienić adres domeny w ustawieniach Elementora (Elementor to tzw. page builder). Jesli nie korzystasz z edytora Elementor, to pomiń ten krok i ciesz się poprawnie działającą stroną WWW, na której zastosowane jest szyfrowane połączenie SSL.
    Po zalogowaniu do WordPress (wp-admin), przejdź do sekcji menu: Elementor -> Narzędzia. Następnie wybierz zakładkę: Zastąp adres URL i w sekcji: Uaktualnij adres witryny (URL) wpisz w pierwszym polu adres domeny z przedrostkiem http://, a w następnym polu adres domeny z https://.
    Upewnij się, że wpisałeś poprawną nazwę domeny bez literówki i kliknij przycisk: Zastąp adres URL. Jeśli podałeś poprawną nazwę domeny, to wszystkie odwołania (np. linki przycisków, odnośników czy obrazków) bez szyfrowanego protokołu (czyli http://) zostaną zamienione na szyfrowany https://.
  5. Jeśli wykonałeś poprawnie wszystkie powyższe kroki, to Twoja strona internetowa będzie teraz korzystać z szyfrowanego połączenia SSL i komunikatydotyczące mieszanej zawartości (ang. mixed content) nie będą już występowały na stronie WWW.

    WAŻNE! Pamiętaj, aby podczas wstawiania każdej nowej zawartości (linków, obrazków, video) wpisywać linki do takich materiałów rozpoczynające się od przedrostka https:// – jeśli nie będziesz o tym pamiętać, to przeglądarki mogą ponownie wyświetlać komunikaty z mixed content.

  • Czy ten artykuł był pomocny?
  • TakNie