В статье про перевод сайта на HTTPS мы писали, почему просто установить SSL-сертификат недостаточно. По умолчанию браузер подключается к сайту по протоколу HTTP — в таком случае данные передаются от посетителя к серверу и обратно в открытом виде. Чтобы заставить браузеры всегда подключаться к сайту по HTTPS, нужно настроить это на стороне хостинг-сервера.
Казалось бы, после этого все вопросы безопасности должны быть закрыты, но нет. Даже после настройки перенаправления на HTTPS сайт может оставаться частично небезопасным. Если это так, пользователя предупредят, что на сайте есть смешанный контент HTTPS.
В статье разберемся, почему так и что с этим делать.
👉Читайте также наши статьи:
- Что такое SSL-сертификат
- Нужен ли SSL-сертификат моему сайту
- Как работает SSL-сертификат
Что такое HTTPS mixed content
Для начала обсудим, как выглядит веб-страница для браузера.
Элементы сайтов создают при помощи языка разметки гипертекста — HTML. При создании сайта разработчик размечает будущую страницу при помощи специальных тегов. <body></body> — тег, обрамляющий всё, что видит посетитель страницы, <img></img> содержит путь к картинке, которую браузеру нужно найти и отобразить, <button></button> позволяет создать кнопку, и так далее.
Контент считается смешанным, когда ссылки на картинки, видео или интерактивные формы начинаются с протокола HTTP, в то время как сам сайт доступен по HTTPS.
Чем опасен mixed content
Уровень опасности смешанного содержимого зависит от его типа. Картинки, аудио и видео — это статический или пассивный контент. Максимальный вред, который может причинить «человек посередине» между браузером и сайтом, злоумышленник, — подменить картинку, аудио или видео. Мы просто не увидим оригинальное содержимое, которое разместил вебмастер.
Реальную же опасность представляет активный mixed content, куда входят, среди прочего, исполняемые скрипты, ссылки и интерактивные формы. В этом случае хакер может заполучить контроль над целой веб-страницей, подменить безобидную ссылку на фишинговую, или перехватить логин-детали посетителя и получить доступ в аккаунт.
Как исправить mixed content
Мы выяснили, что предупреждение браузера о смешанном содержимом не стоит игнорировать. Для пользователя это звоночек не оставлять какие-либо персональные данные на этой странице, а для владельца сайта — призыв к действию.
Кроме безопасности посетителей есть дополнительная причина исправить смешанное содержимое сайта. В браузере Google Chrome ещё в начале 2020 года небезопасный контент блокируется по умолчанию. Это значит, что пользователь просто не видит и не может взаимодействовать с элементами, загруженными по HTTP, что влияет на user experience на странице.
Find them
Прежде, чем редактировать контент, нужно понять, какие картинки, скрипты и формы на сайте браузер загружает по HTTP. Для этого открываем сайт по HTTPS и переходим в консоль. В Chrome вызвать консоль можно комбинацией клавиш «Ctrl + Shift + J», в Firefox — «Ctrl + Shift + K». Ищем предупреждения со словами «Mixed Content».
Для обнаружения mixed content-a можно использовать сторонние ресурсы, например Why No Padlock?. Вводим сайт с HTTPS, ждем и листаем в самый низ полученного отчета.
Destroy them
На платформе Wordpress mixed content можно исправить несколькими способами:
- изменить путь к проблемному ресурсу вручную;
- добавить строку в конфигурационный файл;
- установить плагин.
📌 Первый способ подходит, если нужно поменять пути всего к нескольким изображениям. Для этого достаточно открыть HTML-документ страницы, найти небезопасную ссылку и поменять протокол на HTTPS.
Важно понимать, что если изображение загружается с другого сайта, где нет SSL-сертификата, такой маневр не поможет. Тогда можно скачать изображение со стороннего сайта, загрузить его на свой хостинг-сервер и прописать актуальный путь со ссылкой уже на собственный сайт.
📌 Второй способ гораздо проще: единственный нюанс, необходим доступ к хостинг-серверу или контрольной панели, на которую установлен Wordpress. Если доступ есть, нужно найти конфигурационный файл сайта. Например, для веб-сервера Apache он называется .htaccess, но на других веб-серверах название может отличаться. В файл нужно добавить строку:
Content-Security-Policy: upgrade-insecure-requests
📌 Третий способ требует наименьших усилий. Достаточно зайти в секцию плагинов WordPress и установить Really Simple SSL. После установки плагин нужно активировать и смешанное содержимое будет исправлено автоматически.
Не забудьте почистить кэш браузера перед проверкой успешности изменений.
Делитесь статьей в социальных сетях и сохраняйте в закладки, если она была полезной. Освободим интернет от смешанного содержимого вместе 🙃