Dowiedz się, które zasoby nie są przesyłane przez HTTPS

93

Mam witrynę ASP.NET, która powinna być całkowicie przesyłana za pośrednictwem protokołu HTTPS. Jednak w Google Chrome pojawia się ostrzeżenie, że strona zawiera niezabezpieczone zasoby. Jak mogę się dowiedzieć, które to zasoby i dlaczego nie będą przechodzić przez HTTPS?

Alex
źródło
1
podobne pytanie tutaj stackoverflow.com/questions/305538/…
arkoak
12
Chrome Devtools> karta Sieć> kliknij prawym przyciskiem myszy nagłówek dowolnej kolumny> kliknij „Schemat”
Costa,
Jest to również często widoczne, gdy użytkownicy osadzają obrazy URL w postach stackexchange, używają wersji http zamiast https.
jiggunjer,
Wiem, że ten post jest trochę stary, ale na wypadek, gdyby komuś pomógł, istnieje aplikacja komputerowa, którą możesz teraz uruchomić, aby skanować i raportować problemy z mieszaną zawartością znalezione na stronie: ecommerce.co.uk/httpschecker Mam nadzieję, że to pomoże :)
stilliard

Odpowiedzi:

45

Zwykle dzieje się tak, ponieważ ładujesz obrazy, pliki dołączane javascript lub zewnętrzne pliki CSS bez użycia https. Możesz użyć programu takiego jak FireBug: http://getfirebug.com/

FireBug powie ci, jak ładują się twoje elementy, a które nie przechodzą przez warstwę ssl. Jeśli nie masz przeglądarki Firefox, jestem prawie pewien, że Chrome ma również wbudowane coś podobnego do FireBug.

Oto jak używać firebuga:

  1. Otwórz firebug
  2. Kliknij kartę Console
  3. Odśwież stronę
  4. Wszelkie błędy https pojawią się w konsoli i poinformują Cię, który zasób nie działa.

Mam nadzieję że to pomoże

Lodziarz
źródło
17
możesz być bardziej dokładny?
2
Załaduj stronę z aktywną zakładką Net. Po zakończeniu ładowania strony najedź kursorem na każdy wpis, a wpis GET wyświetli adres URL, który pobiera. W końcu znajdziesz te, które są pobierane przez HTTP zamiast HTTPS.
Joe C
2
Czy myślisz, że ręcznie sprawdź każdy konkretnie w całym stosie zasobów? A co z niektórymi filtrami https?
palmic
5
Aby dodać do rozwiązania @ phantom, możesz kliknąć prawym przyciskiem myszy wpis na karcie Sieć i wybrać „Kopiuj wszystko jako HAR”. Spowoduje to skopiowanie wszystkich wpisów jako obiekt podobny do JSON, co ułatwia wklejenie do edytora i Ctrl-F dla „http:”. Nie mogę jednak uwierzyć, że na karcie Developer Tools Network nie ma karty schematu.
Protector One
3
Właśnie napotkałem ten sam problem, ale wszystkie odniesienia do obrazu, css i js były https. Ale niektóre były czerwone. Skopiowałem więc adres URL i dopiero po wklejeniu ich w ich własnej karcie przeglądarki dowiedziałem się, że wygasł certyfikat serwera. To kolejny nieoczywisty powód, dla którego możesz otrzymać ten błąd.
Stu
88

Właśnie miałem ten problem również w Chrome. Sprawdziłem w zakładce Sieć, ale wszystkie zasoby zostały załadowane przez https.

Rozwiązanie: zamknij Chrome i otwórz ponownie.

Chrome musi buforować wykrywanie bezpiecznej zawartości, aby nawet po naprawieniu problemów wiadomość o niezabezpieczonej zawartości nie zniknęła.

mike nelson
źródło
18
Zamykanie chrome to przesada, możesz po prostu zamknąć kartę.
Patrick James McDougle
1
Mam relację miłość / nienawiść w Chrome - problemy takie jak ten znajdują się w kolumnie „nienawiść”. -_- Tyle czasu straconego na nic. Dziękuję za to rozwiązanie, u mnie zadziałało.
Mike
@MjrKusanagi dzięki za sztuczkę..RESTART też zadziałał dla mnie ... nie widziałem nic na karcie sieciowej lub błędach konsoli ... zmieniłem wszystkie domyślne opcje ... naprawdę zastanawiam się, dlaczego to nie działa ... ale dostałem zielony https: // w pasku adresu ..
Lucky
Moim problemem był tag <form> na mojej stronie. Debuger sieciowy Webkit nie pokaże, jeśli parametr akcji wskazuje na niezabezpieczony adres URL!
Billy,
39

Nie mam nic wspólnego z ludźmi dostarczającymi ten skrypt online, ale jest łatwy i można go dodać do zakładek w dowolnej przeglądarce .. działa dobrze i szybko, aby rozwiązać problem .. http://www.whynopadlock.com

David
źródło
Hej, to było naprawdę pomocne, nie mogłem znaleźć winowajcy, dopóki nie wypróbowałem tego skryptu i nie odkryłem, że jest to czcionka Google połączona z http zamiast https!
Daniel Valadas
To była jedyna rzecz, która ujawniła problem. Dziękuję. Okazało się, że mam tag <form> odwołujący się do akcji na http - nie https!
Billy,
8

W przeglądarce Google Chrome: możesz wyświetlić naruszający zasób na Consolekarcie w Inspect Elementoknie.

Zostanie wymieniony jako:

Strona pod adresem https://example.com/page wyświetlała niezabezpieczone treści z http : //example.com/resource

Oczywiście może być konieczne ponowne załadowanie strony z Inspect Elementjuż otwartym oknem.

Ujjwal Singh
źródło
3
Karta Sieć> kliknij prawym przyciskiem myszy nagłówek dowolnej kolumny> kliknij „Schemat”
Costa,
1
@Costa: Problem z tym podejściem polega na tym, że nie wyświetla ono zawartości zablokowanej przez Chrome. Rozwiązanie w odpowiedzi pokazuje jedno i drugie.
colan
Nazywa się to „szufladą konsoli” i otwiera się, klikając symbol „> ☰” w prawym górnym rogu inspektora.
Dale Anderson
Chrome wyświetli to ostrzeżenie również w przypadku formularzy na stronie, które są przesyłane do niezabezpieczonych lokalizacji.
Dale Anderson
Świetna odpowiedź. Naprawiłem wszystkie problemy z http wymienione na mojej karcie sieciowej. ale konsola pokazała mi, że muszę również poprawić cel formularza dla biuletynu, aby używał https. Najwyraźniej żadne cele formularza na stronie SSL nie mogą być kierowane na stronę bez SSL.
Buttle Butkus
6

Jednym z najłatwiejszych sposobów jest kliknięcie strony prawym przyciskiem myszy w przeglądarce Firefox i wybranie opcji Wyświetl informacje o stronie. Następnie przejdź do zakładki Media i znajdź wszystko, co ładuje się z http zamiast https.

Robert
źródło
2
Działa to świetnie w przypadku obrazów i tym podobnych, ale często jest to połączony plik JavaScript lub CSS, który powoduje uszkodzenie protokołu HTTPS.
Joe C
To najszybsze rozwiązanie umożliwiające znalezienie linku do sprawcy na określonej stronie. Myślę, że jest to najlepsze rozwiązanie spośród wszystkich rozwiązań na tej stronie. Dziękuję
Pavan Kumar
To nie działa, ponieważ nie wyświetla skryptów JavaScript, które są ładowane przez inne skrypty. Pokazuje tylko elementy, które są bezpośrednio połączone w
kodzie
5

Wyskrobaliśmy własne swędzenie i napisaliśmy narzędzie, które indeksuje Twoją witrynę internetową i informuje, które strony zawierają zasoby bez SSL. Wystarczy wpisać główny adres URL swojej witryny internetowej - nie ma potrzeby ręcznego sprawdzania każdej strony.

http://www.jitbit.com/sslcheck/

Max Al Farakh
źródło
2

Zauważyłem, że kiedy miałem ten problem, to pasek narzędzi (uTorrent) powodował błąd. Usunąłem pasek narzędzi i błąd zniknął. Nie wiem, dlaczego pasek narzędzi powodowałby błąd w mojej witrynie, ale nie ma więcej problemów z certyfikatem SSL.

user1738627
źródło
1

W przeglądarce Chrome możesz sprawdzić, które zasoby zostały załadowane przez http i https, wykonując następujące czynności:

1) W menu klucza wybierz polecenie Narzędzia> Narzędzia programistyczne

2) Kliknij ikonę paska narzędzi „Zasoby”

3) Rozwiń folder Ramki, aby wyświetlić różne strony. Rozwiń stronę, której zasoby chcesz zobaczyć. Następnie wyświetlane są poszczególne zasoby strony, podzielone na obrazy, skrypty i arkusze stylów

4) Aby zobaczyć adres URL, który został użyty do załadowania tego zasobu, po prostu umieść kursor myszy nad nazwą zasobu, a pojawi się adres URL z http lub https. Możesz także kliknąć nazwę obrazu, aby zobaczyć obraz po prawej stronie wraz z jego adresem URL

Eric Barr
źródło
3
Karta Sieć> kliknij prawym przyciskiem myszy nagłówek dowolnej kolumny> kliknij „Schemat”
Costa,
Świetny. Dlaczego nazywają to schematem zamiast protokołem? : /
Aamir Afridi
1

Aby to dodać, kliknąłem prawym przyciskiem myszy nagłówki kolumn w widoku karty Sieć i wybrałem Protokół.

Jeśli następnie klikniesz nagłówek Protokół, zawartość raportu zostanie pogrupowana według HTTPS itp

user2719619
źródło
W Chrome v69 myślę, że w tym przypadku bardziej przydatna byłaby kolumna „Schemat”.
Tasos
0

Chrome ma własne narzędzie programistyczne.

można kliknąć stronę prawym przyciskiem myszy, sprawdzić ją .. a następnie kliknąć kartę „sieć” i ponownie załadować stronę. zobaczysz przepływ pracy.

Sam
źródło
0

Nie wiem czy ktoś będzie sprawdzał tę odpowiedź Czy może już znalazłeś rozwiązanie, ale tak czy inaczej moja odpowiedź może pomóc innym osobom cierpiącym na podobny problem

http://www.whynopadlock.com/

To jest link, którego użyłem do sprawdzenia niezabezpieczonej zawartości / pliku, który był ładowany na moją stronę.

Mam nadzieję, że to pomoże. :)

prakashchhetri
źródło
0

Właśnie odkryłem to samo zachowanie w Chrome (Firefox pokazał zieloną kłódkę), mimo że wszystkie zasoby zostały załadowane przez https.

Powodem w moim przypadku było to, że serwer obsługiwał uszkodzony (google poodle) SSLv3.

Ustawienie protokołu ssl_protocols w celu wykluczenia SSLv2 w nginx.conf w ten sposób

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE

naprawił problem za mnie.

Uważam za niefortunne, że chrom nie czyni tego powodu bardziej przejrzystym. „Ta strona w sposób niezabezpieczony ładuje niektóre zasoby” jest bardzo mylące, jeśli nie błędne.

molekularny
źródło
0

Jeśli chcesz zaindeksować własną witrynę z własnego komputera w celu uzyskania listy wszystkich załadowanych zasobów (choć nie są one ładowane przez javascript, o czym warto pamiętać), jeśli korzystasz z systemu Windows, możesz użyć funkcji śledzenia linków Xenu . Wyeksportuj plik TSV, a następnie kliknij prawym przyciskiem myszy i otwórz w programie Excel, a następnie sortuj według adresu URL, a następnie możesz znaleźć te nieznośne zasoby http dla wszystkich stron w witrynie!

Kerridge0
źródło