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?
- Jak objawia się Mixed Content w przeglądarce?
- Typy elementów z zawartością mieszaną (ang. mixed content)
- Jak naprawić mixed content na stronie WWW?
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 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.
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).
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
- Jak w konsoli Chrome sprawdzić występowanie mixed content?
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.
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
- Zalecana metoda naprawy 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.
- Zaloguj się do WordPress (wp-admin).
- 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.
- 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://.
- 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://. - 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.