Treść mieszana powstaje, gdy bezpiecznie załadowana strona korzysta z zasobów żądanych przez niezabezpieczone połączenie. Analizator treści mieszanej Screpy znajduje odwołania HTTP w źródłowym HTML jednej publicznej strony HTTPS, a następnie pokazuje kategorię, adres, pierwszy wiersz źródła i liczbę wystąpień. Te informacje pomagają znaleźć treść lub szablon wymagające zmiany i przygotować bezpieczny zamiennik.
Raport nie uruchamia strony ani nie pobiera wymienionych zasobów. Wskazuje odwołania w kodzie do zbadania, a nie to, co przeglądarka odwiedzającego rzeczywiście załadowała, zmieniła na HTTPS lub zablokowała. Udana analiza nie potwierdza też bezpieczeństwa całej witryny.
Sprawdź stronę HTTPS zawierającą odwołania
Podaj pełny publiczny adres strony do analizy. W przypadku artykułu prześlij jego własny URL, jak przykładowe https://example.com/guides/setup/, zamiast strony głównej lub podejrzanego obrazu. Narzędzie analizuje jedną podaną stronę, nie odkrywa wszystkich stron domeny.
Wymagany jest adres HTTPS. Po analizie odczytaj końcowy URL, ponieważ przekierowania mogą zmienić badaną stronę. Jeżeli adres HTTPS prowadzi ostatecznie do HTTP, analiza treści mieszanej HTTPS nie ma zastosowania. Nie jest to wynik potwierdzający brak problemów. Użyj narzędzia do sprawdzania przekierowań, aby zbadać nieoczekiwany cel.
Strona musi zwracać czytelny publiczny HTML. Ekran logowania może zawierać inne odwołania niż chroniona strona. Niedostępna odpowiedź, nieobsługiwany dokument lub nieudane żądanie oznaczają nieukończoną analizę, a nie dowód braku niezabezpieczonych odwołań.
Rozróżnij zasoby możliwe do zablokowania, aktualizacji i cele formularzy
Użyj filtra kategorii, aby zawęzić tabelę, a następnie odczytaj element i atrybut przy każdym adresie. Kategorie opisują sposób grupowania obsługiwanych odwołań HTTP przez narzędzie; nie są obserwacją działania przeglądarki.
| Kategoria | Przykłady w raporcie | Co zbadać |
|---|---|---|
| Możliwe do zablokowania, czerwone | Skrypty, arkusze stylów, ramki i warianty srcset obrazów responsywnych |
Znajdź źródło i potwierdź odpowiedni zamiennik HTTPS. |
| Możliwa aktualizacja, żółte | Obsługiwane odwołania do obrazów, dźwięku i wideo | Sprawdź, czy właściwy zasób rzeczywiście działa przez HTTPS; automatyczna zmiana nie potwierdza dostępności. |
| Niezabezpieczony cel formularza, pomarańczowe | action formularza lub formaction przycisku/input |
Potwierdź właściwy bezpieczny adres odbiorcy przed zmianą formularza. |
Analizator sprawdza też obsługiwane odwołania obiektów, pól typu image, plakatów wideo i wybranych relacji link. Adresy obrazów lub multimediów, których hostem jest adres IP, trafiają do kategorii możliwych do zablokowania zamiast możliwej aktualizacji.
Aktualna dokumentacja treści mieszanej rozróżnia żądania możliwe do aktualizacji i zablokowania. Faktyczne zachowanie zależy także od reguł przeglądarki i polityk bezpieczeństwa. Klasyfikacja źródła nie ocenia wszystkich wyjątków, w tym potencjalnie zaufanych adresów lokalnych. Czerwony wiersz nie dowodzi więc, że konkretna przeglądarka zablokowała żądanie.
Cele formularzy stanowią oddzielną kategorię. Sekcja specyfikacji treści mieszanej dotycząca wysyłania formularzy opisuje ostrzeżenia przeglądarki osobno od zwykłych kontroli zasobów. Screpy nie wysyła tych formularzy i nie ustala, jakie informacje zbierają. Sprawdź cel rzeczywistego formularza bez wysyłania wrażliwych danych testowych do niezweryfikowanego odbiorcy.
Znajdź w źródle zgrupowane wyniki
Tabela łączy wystąpienia z tym samym elementem, atrybutem, klasyfikacją i rozwiązanym adresem URL. Ten sam adres w innym elemencie lub atrybucie może zajmować oddzielny wiersz. Pokazywany numer wskazuje pierwsze wystąpienie grupy w pobranym HTML, niekoniecznie wiersz w edytorze szablonu.
Ten fikcyjny fragment zawiera cztery odwołania HTTP:
<script src="http://static.example.com/site.js"></script>
<img src="http://static.example.com/logo.png" alt="Example homepage">
<img src="http://static.example.com/logo.png" alt="Example homepage">
<form action="http://example.com/contact/" method="post"></form>
| Grupa | Wystąpienia | Klasyfikacja |
|---|---|---|
script[src] kończący się na /site.js |
1 | Możliwe do zablokowania |
img[src] kończący się na /logo.png |
2 | Możliwa aktualizacja |
form[action] kończący się na /contact/ |
1 | Niezabezpieczony cel formularza |
Podsumowanie liczy jedno odwołanie możliwe do zablokowania, dwa możliwe do aktualizacji i jedno odwołanie formularza: cztery wystąpienia w trzech wierszach. Nie oznacza to czterech unikalnych plików ani czterech potwierdzonych żądań sieciowych. Przykład demonstruje grupowanie raportu, a nie rzeczywisty skan czy kompletny działający formularz kontaktowy.
Znajdź każde wystąpienie powtórzonego odwołania w odpowiedzialnej treści lub wspólnym komponencie. Poprawienie tylko pierwszego pokazanego wiersza może pozostawić kolejne bez zmian. Sprawdź rzeczywisty tekst źródła wokół tej linii, zanim ustalisz właściwe pole CMS, ustawienie motywu lub szablon.
Sprawdź bazowe adresy URL przed zmianą ścieżek względnych
Pokazany URL zasobu jest rozwiązywany względem efektywnej bazy dokumentu. Bez własnej bazy ścieżki względne korzystają z końcowego URL strony. Element <base href> z HTTP może natomiast skierować względne odwołanie do HTTP, mimo że strona została pobrana przez HTTPS.
Dla fikcyjnej strony pod https://example.com/guides/setup/ rozważ ten fragment:
<head><base href="http://static.example.com/assets/"></head>
<body><img src="logo.png" alt="Example homepage"></body>
Adres obrazu zostanie rozwiązany jako http://static.example.com/assets/logo.png, a nie plik w katalogu strony HTTPS. Odwołanie względne wobec protokołu, takie jak //static.example.com/assets/logo.png, także korzysta ze schematu bazy. Samo usunięcie http: nie zapewnia więc bezpiecznego celu.
Dokumentacja elementu base HTML wyjaśnia, jak pierwsza odpowiednia baza określa względne adresy URL. Sprawdź bazę i zamierzoną lokalizację pliku razem. Zmiana może wpłynąć na inne zasoby, nawigację i cele formularzy; nie usuwaj celowo ustawionej bazy bez oceny tych skutków. Jawny, działający adres HTTPS może wyraźniej określić zamiennik.
Zastąp niezabezpieczone odwołanie działającym adresem HTTPS
Zacznij tam, gdzie powstaje odwołanie. Stary URL obrazu może znajdować się w polu artykułu, ustawieniu logo lub wspólnym szablonie; osadzony skrypt może pochodzić z kodu integracji. Popraw to źródło zamiast wygenerowanego HTML, który kolejna publikacja nadpisze. Unikaj masowej zamiany niepowiązanych ciągów http:// w całej witrynie.
Sprawdź proponowany adres HTTPS przed użyciem. Powinien dostarczać właściwy obraz, skrypt lub inny zasób bez nieoczekiwanego przekierowania, ekranu dostępu czy innej treści. Analizator nie wykonał tego żądania. Zmiana http://static.example.com/site.js na HTTPS może się nie udać, jeżeli host nie udostępnia tego samego pliku bezpiecznie.
Jeśli zewnętrzna zależność nie ma właściwej bezpiecznej wersji, poproś o obsługiwany zamiennik lub zdecyduj, czy funkcję usunąć albo zastąpić. Nie podstawiaj bez informowania niepowiązanego pliku tylko po to, by usunąć wynik. W formularzu sprawdź punkt odbioru i oczekiwane zachowanie, nie samą pisownię adresu.
Content Security Policy z upgrade-insecure-requests może zmienić żądania przeglądarki, pozostawiając odwołania HTTP w kodzie. Jak wyjaśnia dokumentacja dyrektywy, niedostępny zasób HTTPS może zakończyć się błędem bez powrotu do HTTP. Nie dowodzi to, że wszystkie zaktualizowane zasoby działają. Użyj analizatora nagłówków HTTP do oddzielnego sprawdzenia zadeklarowanych nagłówków; nie zastępuj istniejącej polityki w ciemno ani nie wyłączaj zabezpieczeń przeglądarki, aby ukryć problem.
Zweryfikuj opublikowane źródło i żądania przeglądarki
Przed zmianami zachowaj oryginalny raport razem z planowanym zamiennikiem. Pobranie JSON przechowuje zachowane wyniki i grupy; wybór kategorii zmienia tabelę, a nie pobierany pełny raport. Narzędzie nie oferuje CSV ani automatycznej naprawy.
- Opublikuj poprawioną treść, ustawienie lub szablon i ponownie sprawdź tę samą stronę HTTPS, gdy aktualna odpowiedź będzie dostępna.
- Porównaj odpowiedni URL, element, atrybut i liczbę wystąpień. Mniejsza suma może ukrywać inne pozostałe odwołanie; czytaj wiersze, nie tylko podsumowanie.
- Otwórz stronę w przeglądarce i sprawdź ostrzeżenia konsoli oraz żądania sieciowe. Wypróbuj odpowiedni obraz, multimedia lub funkcję; raport źródła nie wykonuje tych interakcji.
- Sprawdź inne strony korzystające ze zmienionego szablonu. Naprawiona strona główna nie dowodzi poprawienia każdego produktu czy artykułu.
Przewodnik po panelu bezpieczeństwa Chrome pokazuje przejście od niezabezpieczonych originów do właściwych żądań sieciowych. Obserwacje przeglądarki mogą ujawnić żądania generowane przez skrypty lub style poza zakresem tego analizatora kodu źródłowego. Mogą też pokazać zaktualizowane lub zablokowane żądanie, mimo że oryginalny kod wciąż zawiera HTTP.
Rozdziel te obserwacje: poprawione odwołanie w źródle i udane żądanie przeglądarki odpowiadają na różne pytania. Żadne samo nie dowodzi, że wszystkie treści, każda przeglądarka lub cała witryna są bezpieczne.
Zrozum brak wyników i częściowy zakres
Analizator przyjmuje do 2 MiB HTML i zachowuje do 1000 odwołań HTTP w 200 zgrupowanych wierszach. Jeśli limit uniemożliwia zachowanie dalszych danych, zakres staje się częściowy, a pełna liczba odwołań pozostaje nieznana. Podsumowanie opisuje wtedy zachowany fragment. Źródło niedostępne lub przekraczające limit HTML powoduje natomiast niedostępność żądanej analizy.
Brak wyników oznacza brak obsługiwanych odwołań HTTP w zbadanym zakresie źródła. Nie obejmuje żądań generowanych przez JavaScript, wartości CSS url(), treści zewnętrznych arkuszy stylów, dokumentów zagnieżdżonych ramek ani wszystkich możliwych atrybutów. Nie są również śledzone przekierowania zasobów: odczyt pierwotnego atrybutu HTTPS nie ustala, czy plik później przekierowuje do HTTP.
Zwykłe odnośniki nawigacyjne są pomijane, w tym normalny link do strony HTTP. Zachowanie pobierania i bezpieczeństwo celu wymagają odrębnej oceny; brak w tej tabeli nie jest ich zatwierdzeniem. Użyj analizatora linków wewnętrznych, gdy pytanie dotyczy odnośników wychodzących zamiast osadzonych zasobów.
Przy częściowym raporcie zachowaj jego zakres w JSON i oddzielnie zbadaj pozostałe odwołania. Usunięcie pokazanych wierszy nie dowodzi naprawy pominiętych. Powtórz analizę po zmianach i zachowaj wcześniejszy raport, aby odróżnić potwierdzoną poprawkę od danych, których nigdy nie sprawdzono.