← Wszystkie testy
BezpieczeństwoTypowa waga: Średni

Skaner mieszanej zawartości

Wykrywa zasoby ładowane przez HTTP na stronie HTTPS, które podróżują bez szyfrowania i psują kłódkę.

Co sprawdza

Ten skaner wykrywa zasoby, takie jak obrazy, skrypty czy style, które twoja strona HTTPS ładuje przez niezaszyfrowane HTTP. Ta mieszanka jest znana jako mixed content. Skaner przegląda odwołania na stronie, żeby znaleźć te, które nie używają HTTPS.

Dlaczego to ważne

Mixed content podróżuje bez szyfrowania, więc może zostać przechwycony lub zmanipulowany, nawet jeśli reszta strony jest bezpieczna. Do tego przeglądarka może zablokować te zasoby albo zdjąć kłódkę, przez co strona wygląda na niebezpieczną. W najgorszym przypadku skrypt załadowany przez HTTP kompromituje całą stronę.

Jak to naprawić

Zmień wszystkie odwołania do zasobów, tak aby zaczynały się od https zamiast http. Zwróć szczególną uwagę na linki do zewnętrznych bibliotek, obrazów i starych czcionek. Jeśli zewnętrzny zasób nie oferuje HTTPS, znajdź alternatywę albo sam go hostuj w bezpieczny sposób.

Jak działa ta kontrola

Scanaris odczytuje HTML Twojej strony serwowanej przez HTTPS i szuka odwołań do zasobów zaczynających się od http://: skryptów, arkuszy stylów, ramek iframe, obrazów, wideo, audio i fontów. Dzieli je na dwie grupy. Aktywna mieszana treść (skrypty, style, iframe) otwiera ustalenie o średniej wadze, bo te zasoby mogą wykonać kod lub zmodyfikować stronę. Pasywna mieszana treść (obrazy, wideo, audio) otwiera ustalenie o niskiej wadze: nic nie wykonuje, ale podróżuje jawnym tekstem i psuje kłódkę. Badane są tylko odwołania obecne w początkowym HTML; zasoby dodane później przez JavaScript nie są tą drogą widoczne.

Dlaczego to ważne

Skrypt ładowany przez HTTP na stronie HTTPS to najgorszy przypadek: ten, kto kontroluje sieć, może go podmienić na inny i wykonać na Twojej stronie, co chce, z sesją użytkownika. Dlatego nowoczesne przeglądarki po prostu go blokują, a Twoja strona psuje się po cichu w tym miejscu. Obrazy przeglądarka ładuje, ale zabiera kłódkę albo pokazuje ostrzeżenie „niezabezpieczona", które użytkownik widzi. W obu przypadkach przekaz jest ten sam: strona twierdzi, że jest bezpieczna, a nie do końca jest.

Skąd to się bierze

Prawie zawsze ze starego kodu: adresy skopiowane z tutoriala lub szablonu sprzed lat, biblioteka podlinkowana z CDN, który wtedy nie miał HTTPS, obrazy z migrowanego bloga albo pole w bazie z pełnym adresem obrazu wgranego, gdy strona działała jeszcze na HTTP. W WordPressie to typowe po przejściu z HTTP na HTTPS bez aktualizacji zapisanych adresów.

Jak to naprawić

  • Zmień odwołania na https:// albo na ścieżki względne (/images/zdjecie.jpg), które dziedziczą protokół strony. To poprawne i ostateczne rozwiązanie.
  • Jeśli zewnętrzny zasób nie ma HTTPS, pobierz go i serwuj z własnej domeny albo znajdź inne źródło. W 2026 roku prawie nic legalnego nie działa już wyłącznie na HTTP.
  • W WordPressie zaktualizuj adresy zapisane w bazie narzędziem znajdź-i-zamień, które respektuje serializację, i sprawdź adresy strony w ustawieniach ogólnych.
  • Jako siatka bezpieczeństwa dyrektywa CSP upgrade-insecure-requests każe przeglądarce automatycznie zamieniać żądania http:// z Twojej strony na https://. Pomaga, gdy porządkujesz kod, ale nie zastępuje porządkowania: zasób musi istnieć pod HTTPS, żeby to zadziałało.
Content-Security-Policy: upgrade-insecure-requests

Sprawdź, czy naprawione

curl -s https://twojadomena.pl | grep -oE '(src|href)="http://[^"]+"' | sort -u

Nic nie może się pojawić. Potem otwórz stronę z konsolą przeglądarki: każdy mieszany zasób ładowany przez JavaScript pojawi się tam jako ostrzeżenie lub blokada.

Często zadawane pytania

Moja strona ładuje się dobrze i ma kłódkę. Dlaczego to jest zgłaszane?

Bo przeglądarka być może blokuje zasób po cichu albo sama podnosi go do HTTPS. Odwołanie w Twoim HTML pozostaje na http://, a inne klienty (boty, stare przeglądarki, e-maile) nie robią tej korekty.

Czy adresy zaczynające się od // to mieszana treść?

Nie. Adresy względne względem protokołu dziedziczą protokół strony i na HTTPS ładują się przez HTTPS. Mimo to dziś zaleca się pisać bezpośrednio https://.

Czy link <a href="http://…"> się liczy?

Nie. Link niczego nie ładuje na Twojej stronie; tylko przenosi użytkownika gdzie indziej. Mieszana treść to to, co strona osadza.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Z bloga

Powiązane testy