К списку
Web-тестирование и DevToolsMiddleТехническое

Почему возникает Mixed Content на HTTPS-страницах и как его избежать

Краткий ответ

Mixed Content появляется, когда HTTPS-страница загружает ресурсы по протоколу HTTP, что снижает безопасность. Чтобы избежать уязвимостей, все элементы страницы должны загружаться исключительно через HTTPS.

Развёрнуто

Краткий ответ

Mixed Content возникает, если защищённая HTTPS-страница включает ресурсы, загружаемые по HTTP. Это создаёт риск перехвата и подмены данных, поэтому рекомендуется использовать только HTTPS для всех ресурсов.


Как это работает

Mixed Content — ситуация, когда защищённая страница (https://) содержит ссылки на ресурсы (скрипты, стили, изображения и т.д.), которые загружаются по незащищённому протоколу http://. Браузеры предупреждают об этом, так как HTTP-трафик не шифруется, что позволяет злоумышленникам перехватить или изменить содержимое ресурса.

Типы Mixed Content:

Тип Mixed Content Описание Влияние на безопасность
Активный (Active) Скрипты, iframe, стили, AJAX-запросы Может позволить выполнение вредоносного кода
Пассивный (Passive) Изображения, видео, аудио Риск подмены контента, но меньший, чем активный

Для предотвращения Mixed Content необходимо:

  • Использовать https:// для всех ресурсов страницы
  • Настроить серверы и CDN на поддержку HTTPS
  • Проверять и обновлять внешние ссылки

Пример

<!-- Пример опасного Mixed Content -->
<script src="http://example.com/script.js"></script>

<!-- Правильный вариант -->
<script src="https://example.com/script.js"></script>

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

Что важно знать на собеседовании

  • Mixed Content снижает безопасность HTTPS-страницы и может привести к блокировке ресурсов браузером.
  • Активный Mixed Content опаснее пассивного, так как может влиять на выполнение кода.
  • Для устранения Mixed Content нужно обеспечить загрузку всех ресурсов через HTTPS.
  • Инструменты разработчика (DevTools) помогают выявлять Mixed Content и анализировать связанные ошибки.
  • Некоторые браузеры автоматически блокируют активный Mixed Content, но пассивный иногда отображается с предупреждениями.

Тема: Web-тестирование и DevTools | Уровень: middle