Sprawdzanie mieszanej treści
Wykrywa zasoby http:// wczytywane na stronie HTTPS.
Po migracji witryny na HTTPS zabłąkane znaczniki <img>, <script>, <link> albo <iframe>, które wciąż wskazują na http://..., psują zieloną kłódkę, a we współczesnych przeglądarkach często w ogóle się nie ładują. Wpisz adres URL, a to narzędzie wczyta stronę, przeanalizuje każdy podzasób (obrazy, arkusze stylów, skrypty, czcionki, iframe’y, wideo, audio) i wypisze wszystko serwowane przez zwykły HTTP, byś mógł to naprawić, zanim użytkownicy trafią na ostrzeżenie „nie w pełni bezpieczne”.
Jak działa skanowanie
-
1
Wpisz adres URL
Adres HTTPS. Skaner podąża za jednym przekierowaniem.
-
2
Strona zostaje pobrana
HTML jest analizowany pod kątem każdego odwołania do podzasobu.
-
3
Każde odwołanie jest klasyfikowane
HTTPS, HTTP albo względne wobec protokołu (`//cdn...`).
-
4
Raport pogrupowany według typu
Treść aktywna a pasywna, z rankingiem powagi problemu.
Aktywna a pasywna mieszana treść
Przeglądarki traktują dwie klasy odmiennie:
- Aktywna mieszana treść (skrypty, iframe’y, arkusze stylów, XHR/fetch, workery, WebSocket-y). Blokowana całkowicie przez współczesne przeglądarki. Obejmuje:
<script>,<link rel="stylesheet">,<iframe>,fetch(),XMLHttpRequest,importScripts(). - Pasywna mieszana treść (obrazy, wideo, plakaty audio). Ładowana, ale oznaczana, kłódka znika, a pasek adresu pokazuje ostrzeżenie. Obejmuje:
<img>,<audio>,<video>, celeactionformularzy.
Dlaczego to ma znaczenie
- Zaufanie. Zepsuta kłódka sygnalizuje „ta strona nie jest bezpieczna” użytkownikom, którzy to zauważą.
- Funkcjonalność. Zablokowana aktywna treść oznacza, że skrypty się nie uruchamiają, a arkusze stylów nie działają, strony wyglądają na zepsute.
- SEO. Google preferuje strony HTTPS; zepsute sygnały HTTPS pośrednio szkodzą pozycjom.
- Zgodność. PCI DSS i wiele innych ram zgodności wymaga HTTPS bez mieszanej treści na stronach transakcyjnych.
Częste źródła
| Źródło | Typowa naprawa |
|---|---|
| Starszy CDN na HTTP | Zamień domenę na CDN HTTPS |
| Osadzony stary kod embed YouTube / Vimeo | Zaktualizuj embed do bieżącej wersji |
| Adresy URL skryptów sieci reklamowych | Użyj wersji HTTPS (dostępnej od lat) |
| Czcionki, mapy stron trzecich | Zamień http://fonts.googleapis.com → https:// |
| Widżety przycisków społecznościowych | Użyj bieżącego kodu widżetu |
| Adresy URL obrazów od użytkowników | Przepisz przy zapisie; ładuj przez proxy przy wyświetlaniu |
| Zaszyte adresy URL w wpisach bloga | Zbiorcze znajdź-i-zamień w bazie danych |
Strategie naprawy
- Adresy względne wobec protokołu (
//cdn.example.com/a.js). Ładują się z protokołem bieżącej strony. Bezpieczne dla większości CDN-ów, ale przestarzałe, preferuj jawnehttps://. - Przepisanie w źródle. Zaktualizuj szablony i treść, by używały
https://. Przeskanuj kod wyrażeniem regularnym:http://(?!localhost). - Aktualizacja Content Security Policy.
Content-Security-Policy: upgrade-insecure-requestsmówi przeglądarce, by po cichu przepisała adresy HTTP zasobów na HTTPS. Najlepsze dla witryn, które nie są w stanie zaudytować każdego URL-a. <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">, odpowiednik inline.- Proxyowanie zasobów dostępnych tylko po HTTP przez twoje źródło HTTPS, jeśli serwer nadrzędny faktycznie nie ma punktu HTTPS (dziś rzadkie).
Co znajduje narzędzie
- Wszystkie zewnętrzne adresy URL w
<img>,<script>,<link>,<iframe>,<video>,<audio>,<source>. - Atrybuty
actionformularzy. - Inline’owe odwołania CSS
url(...)w blokach<style>. - Nie przeszukuje zasobów wstrzykiwanych przez JavaScript, są dodawane w czasie działania i wymagają audytu po stronie przeglądarki (panel Issues w Chrome DevTools je wychwytuje).
Najczęściej zadawane pytania
Częściowo. Nagłówek CSP upgrade-insecure-requests albo meta-znacznik mówi przeglądarkom, by automatycznie przepisywały adresy podzasobów HTTP na HTTPS. Działa, gdy serwer faktycznie obsługuje HTTPS; jeśli serwer nadrzędny jest tylko HTTP, przepisanie zawodzi.
Nie. Tylko zasoby wskazane w statycznym HTML. Skrypty tworzące elementy <img> w czasie działania się nie pokażą. Panel Issues w Chrome DevTools wychwytuje je w przeglądarce.
Są bezpieczne pod kątem mieszanej treści na stronach HTTPS (dziedziczą HTTPS). Ale psują się na wewnętrznych narzędziach dostępnych tylko po HTTP albo na zarchiwizowanych stronach, i są przestarzałe. Preferuj jawne https://.
Pamięć podręczna przeglądarki. Odśwież na twardo (Ctrl+Shift+R / Cmd+Shift+R) albo przetestuj w oknie incognito, by potwierdzić naprawę. Raporty CSP i ostrzeżenia konsoli pokazują bieżący stan.
Pobieracz po stronie serwera ściąga stronę do analizy. Sam adres URL nie jest przechowywany poza obrębem żądania.
Powiązane narzędzia
Sprawdzanie długości meta opisu
Zmierz meta opis w znakach i szacowanych pikselach, porównaj wskazówki redakcyjne i przejrzyj makiety na komputer i telefon.
Tester nagłówków bezpieczeństwa HTTP
Wklej nagłówki odpowiedzi HTTP i lokalnie sprawdź HSTS, CSP, ochronę ramek, MIME, referrer oraz zasady cross-origin.
Ekstraktor linków zewnętrznych
Wklej surowy kod HTML, opcjonalnie podaj adres URL podstawowy i otrzymaj czystą, bez duplikatów listę wszystkich zewnętrznych linków http/https w kodzie, na potrzeby audytów linków i analiz SEO.
Sprawdzacz indeksowalności
Sprawdź, czy adres URL może zostać indeksowany: plik robots.txt, metaparametry robots, tag X-Robots, sygnały kanoniczne oraz stan HTTP.
Symulator wyników Google
Wyświetl przybliżony snippet w stylu Google z limitami znaków dla telefonu i komputera. Szkic pozostaje w tej sesji przeglądarki.
Walidator mapy witryny XML
Sprawdź w przeglądarce składnię XML mapy witryny, brakujące lokalizacje, powtarzające się adresy URL i typowe wartości pól.
Narzędzie jest dostępne w innych językach
- Kontroll av blandat innehåll [SV]
- Mixed Content Checker [ID]
- เครื่องมือตรวจสอบเนื้อหาผสม [TH]
- Verificador de Conteúdo Misturado [PT]
- Mixed-Content-Prüfer [DE]
- Verificador de Contenido Mixto [ES]
- Vérificateur de contenu mixte [FR]
- 混合コンテンツチェッカー [JA]
- 혼합 콘텐츠 검사기 [KO]
- Trình kiểm tra nội dung hỗn hợp [VI]
- فاحص المحتوى المختلط [AR]
- Controle op gemengde inhoud [NL]
- 混合内容检查器 [ZH]
- Mixed Content Checker [EN]
- Controllore di contenuti misti [IT]
- Проверка смешанного контента [RU]
- Karışık İçerik Denetleyicisi [TR]