Технические

Что такое смешанный контент и почему он подрывает HTTPS?

Включить HTTPS — это только половина дела, если отдельные части страницы всё ещё незаметно загружаются по старому, незащищённому соединению.

Что это

Как только страница начинает отдаваться защищённо по HTTPS, абсолютно всё, что на ней загружается, — каждое изображение, скрипт, файл стилей и встроенное видео — тоже должно загружаться по HTTPS. «Смешанный контент» (mixed content) — это ситуация, когда основная страница защищена, но одна или несколько отдельных её частей всё ещё загружаются по старому, незашифрованному http://, часто из-за старой ссылки на изображение или кода встраивания, который так и не обновили при переходе сайта на HTTPS.

Это называется «смешанным», потому что страница в итоге одновременно использует и защищённые, и незащищённые соединения, что во многом сводит на нет саму цель перехода на HTTPS.

Почему это важно

Браузеры относятся к смешанному контенту как к реальной проблеме безопасности, а не косметической — они часто попросту молча блокируют загрузку незащищённого ресурса (изображение или скрипт просто не появляется) или показывают заметный значок предупреждения в адресной строке, который сводит на нет всё доверие, которое должен был обеспечивать значок замка. Оба исхода в глазах внимательного к безопасности посетителя выглядят хуже, чем полное отсутствие HTTPS, потому что создаётся впечатление, что что-то реально сломано или недонастроено.

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

Как это исправить

  1. Откройте страницу в браузере и проверьте консоль разработчика (обычно открывается по F12 или через правый клик → «Просмотреть код» → вкладка Console) на наличие предупреждений об «смешанном контенте» (mixed content) или «незащищённом контенте» (insecure content).
  2. Каждое предупреждение будет называть конкретный ресурс (URL изображения, скрипта или файла стилей), который всё ещё загружается по http://.
  3. Измените каждый такой URL так, чтобы он начинался с https:// вместо http — большинство ресурсов доступны по HTTPS, даже если конкретная ссылка на вашей странице не была обновлена.
  4. Для сторонних встраиваемых элементов (видео, виджеты, реклама), которые предоставляют только версию с http://, проверьте, предлагает ли провайдер вариант кода встраивания с HTTPS.
  5. Перезагрузите страницу и снова проверьте консоль, чтобы убедиться, что предупреждения исчезли.

Проверьте, есть ли эта проблема на вашем сайте

Launch Readiness проверяет ваш сайт на эту и ещё ~50 проблем перед запуском за несколько секунд — бесплатно, без регистрации.

Запустить бесплатную проверку