Узнайте, какие ресурсы не проходят через HTTPS


93

У меня есть сайт ASP.NET, который должен полностью передаваться по HTTPS. Однако в Google Chrome я получаю предупреждение о том, что на странице есть небезопасные ресурсы. Как я могу узнать, что это за ресурсы и почему они не будут использовать HTTPS?


1
аналогичный вопрос здесь stackoverflow.com/questions/305538/…
arkoak


12
Chrome Devtools> вкладка "Сеть"> щелкните правой кнопкой мыши заголовок любого столбца> щелкните "Схема"
Costa

Это также часто наблюдается, когда пользователи встраивают изображения URL-адресов в сообщения stackexchange, они используют версию http вместо https.
jiggunjer 03

Я знаю, что этот пост немного устарел, но на случай, если он кому-то поможет, есть настольное приложение, которое вы можете запустить прямо сейчас, чтобы сканировать и сообщать о проблемах смешанного контента, обнаруженных на сайте: ecommerce.co.uk/httpschecker Надеюсь, это поможет :)
stilliard

Ответы:


45

Обычно это происходит из-за того, что вы загружаете изображения, включаемые файлы javascript или внешние файлы CSS без использования https. Вы можете использовать такую ​​программу, как FireBug: http://getfirebug.com/

FireBug сообщит вам, как загружаются ваши элементы, а какие не проходят через слой SSL. Если у вас нет Firefox, то я почти уверен, что в Chrome есть что-то похожее на FireBug.

Вот как использовать firebug:

  1. Открыть firebug
  2. Щелкните вкладку консоли
  3. Обновите страницу
  4. Любые ошибки https будут отображаться в консоли и сообщать вам, какой ресурс не работает.

Надеюсь это поможет


17
Не могли бы Вы уточнить?

2
Загрузите страницу с активированной вкладкой Net. После завершения загрузки страницы наведите указатель мыши на каждую запись, и запись GET отобразит URL-адрес, который она получает. В конце концов вы найдете те, которые извлекаются через HTTP вместо HTTPS.
Joe C

2
как вы думаете, вручную проверять каждый объект в целом стеке? А как насчет фильтрации https?
palmic

5
Чтобы добавить решение @ phantom, вы можете щелкнуть правой кнопкой мыши запись на вкладке «Сеть» и выбрать «скопировать все как HAR». Это скопирует все записи как JSON-подобный объект, что упрощает вставку в редактор и Ctrl-F для «http:». Не могу поверить, что на вкладке Developer Tools Network нет вкладки схемы.
Protector

3
Я столкнулся с той же проблемой, но все ссылки на изображения, css и js были https. Но некоторые были красными. Поэтому я скопировал URL-адрес, и только когда я вставил их в отдельную вкладку браузера, я обнаружил, что срок действия сертификата сервера истек. Так что это еще одна не очевидная причина, по которой вы можете получить эту ошибку.
stu

88

У меня тоже была эта проблема в Chrome. Я проверил вкладку «Сеть», но все ресурсы были загружены через https.

Решение: закройте Chrome и снова откройте.

Chrome должен кэшировать свое обнаружение безопасного содержимого, чтобы даже после устранения проблем сообщение о незащищенном содержимом не исчезало.


18
Закрытие хрома - излишество, можно просто закрыть вкладку.
Патрик Джеймс Макдугл,

1
У меня к Chrome отношения "любовь / ненависть" - подобные проблемы помещаются в столбец "ненавижу". -_- Столько времени потрачено впустую. Спасибо за это решение, у меня оно сработало.
Майк

@MjrKusanagi спасибо за трюк .. RESTART сработал для меня тоже .. я ничего не видел на вкладке сети или консоли ошибки .. изменил все параметры по умолчанию .. очень интересно, почему это не работает .. но получил зеленый https: // в адресной строке ..
Lucky

Моя проблема заключалась в теге <form> на моей странице. Сетевой отладчик Webkit не покажет вам, указывает ли ваш параметр действия на незащищенный URL!
Билли

39

Я не имею ничего общего с людьми, предоставляющими этот онлайн-сценарий, но он прост и может быть добавлен в закладки в любом браузере .. работает хорошо и быстро, чтобы решить проблему .. http://www.whynopadlock.com


Эй, это было действительно полезно, я не смог найти виновника, пока не попробовал этот скрипт и не обнаружил, что это шрифт Google, связанный с http, а не с https!
Даниэль Валадас

Это единственное, что выявило проблему, спасибо. Оказалось, что у меня есть тег <form>, ссылающийся на действие по http, а не по https!
Билли

8

В Google Chrome: вы можете просмотреть оскорбительный ресурс на Consoleвкладке Inspect Elementокна.

Он будет указан как:

На странице https://example.com/page отображалось небезопасное содержимое с http : //example.com/resource.

Конечно, вам, возможно, придется перезагрузить страницу с Inspect Elementуже открытым окном.


3
Вкладка «Сеть»> щелкните правой кнопкой мыши заголовок любого столбца> щелкните «Схема»
Costa

1
@Costa: проблема с этим подходом в том, что он не отображает контент, заблокированный Chrome. Решение в ответе показывает и то, и другое.
Colan

Он известен как «Ящик консоли», и его можно открыть, щелкнув символ «> top» в правом верхнем углу инспектора.
Дейл Андерсон

Chrome также выдает это предупреждение для форм на странице, которые отправляются в незащищенные места.
Дейл Андерсон

Отличный ответ. Я исправил все проблемы с http, перечисленные на вкладке моей сети. но консоль показала мне, что мне также нужно исправить цель формы для информационного бюллетеня, чтобы он использовал https. Очевидно, что никакие цели формы на странице SSL не могут быть нацелены на страницу без SSL.
Баттл Буткус

6

Один из самых простых способов сделать это - щелкнуть страницу правой кнопкой мыши в Firefox и выбрать «Просмотр информации о странице». Затем перейдите на вкладку «Медиа» и найдите все, что загружается с http, а не с https.


2
Это отлично работает для изображений и тому подобного, но часто это связанный файл Javascript или CSS, вызывающий сбой HTTPS.
Joe C

Это наиболее быстрое решение для поиска виновной ссылки на определенной странице. Я думаю, что это лучшее решение среди всех решений на этой странице .. Спасибо
Паван Кумар

Это не работает, так как не отображает сценарии JavaScript, загруженные другими сценариями. Он показывает только элементы, которые напрямую связаны в HTML
Яннинг,

5

Мы почесали наш собственный зуд и написали инструмент, который сканирует ваш веб-сайт и сообщает вам, на каких страницах есть ресурсы без SSL. Вам просто нужно ввести корневой URL своего веб-сайта - нет необходимости проверять каждую страницу вручную.

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


2

Я заметил, что когда у меня возникла эта проблема, панель инструментов (uTorrent) вызывала ошибку. Я удалил панель инструментов, и ошибка исчезла. Не уверен, почему панель инструментов может вызвать ошибку на моем сайте, но здесь больше нет проблем с сертификатом SSL.


1

В Chrome вы можете узнать, какие ресурсы были загружены через http, а не через https, выполнив следующие действия:

1) В меню гаечного ключа выберите Инструменты> Инструменты разработчика.

2) Щелкните значок панели инструментов «Ресурсы».

3) Разверните папку Frames, чтобы увидеть разные страницы. Разверните страницу, ресурсы которой вы хотите увидеть. Затем перечисляются отдельные ресурсы для страницы с разбивкой по изображениям, сценариям и таблицам стилей.

4) Чтобы увидеть URL-адрес, который использовался для загрузки этого ресурса, просто наведите указатель мыши на имя ресурса, и появится URL-адрес с http или https. Вы также можете щелкнуть имя изображения, чтобы увидеть изображение справа вместе с его URL-адресом.


3
Вкладка "Сеть"> щелкните правой кнопкой мыши заголовок любого столбца> щелкните "Схема"
Costa

Отлично. Почему они называют это схемой, а не протоколом? : /
Амир Африди

1

Чтобы добавить к этому, я щелкнул правой кнопкой мыши заголовки столбцов на вкладке «Сеть» и выбрал «Протокол».

Если затем щелкнуть заголовок «Протокол», содержимое отчета будет сгруппировано по HTTPS и т. Д.


В Chrome v69, я думаю, в этом случае более полезен столбец «Схема».
Tasos 02

0

В Chrome есть собственный инструмент для разработчиков.

вы можете щелкнуть страницу правой кнопкой мыши, проверить ее ... а затем щелкнуть вкладку «сеть» и перезагрузить страницу. вы увидите рабочий процесс.


0

Я не знаю, будет ли кто-нибудь проверять этот ответ Или вы, возможно, уже нашли решение, но в любом случае мой ответ может помочь другим людям, страдающим от аналогичной проблемы

http://www.whynopadlock.com/

Это ссылка, которую я использовал для проверки небезопасного содержимого / файла, загружаемого на мою страницу.

Надеюсь, это поможет. :)


0

Я только что обнаружил такое же поведение в Chrome (firefox показал зеленый замок), хотя все ресурсы были загружены через https.

Причина в моем случае заключалась в том, что сервер поддерживал сломанный (google poodle) SSLv3.

Настройка ssl_protocols для исключения SSLv2 в nginx.conf вот так

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

исправил проблему для меня.

Я считаю досадным, что хром не делает эту причину более прозрачной. "эта страница небезопасно загружает некоторые ресурсы" вводит в заблуждение, если не ошибается.


0

Если вы хотите сканировать свой собственный сайт со своего рабочего стола для получения списка всех загруженных ресурсов (хотя и не загружаемых с помощью javascript, что стоит иметь в виду), при использовании Windows вы можете использовать поиск ссылок Xenu . Экспортируйте файл TSV, затем щелкните правой кнопкой мыши и откройте в Excel, затем отсортируйте по URL-адресу, и тогда вы сможете найти эти надоедливые ресурсы http для всех страниц на сайте!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.