Что такое смешанный контент?

Страница имеет смешанный контент, когда ее исходный HTML-код загружается через защищенное соединение HTTPS , но другие ресурсы (такие как изображения, видео, таблицы стилей и сценарии) загружаются через небезопасное соединение HTTP. Название относится к сочетанию содержимого HTTP и HTTPS на одной странице.

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

Хотя многие браузеры сообщают пользователю о предупреждениях о смешанном содержимом, отчет часто приходит слишком поздно: небезопасные запросы уже были выполнены, и безопасность страницы скомпрометирована.

Большинство браузеров теперь блокируют смешанный контент по соображениям безопасности. Измените небезопасные запросы контента на безопасный контент, чтобы обеспечить правильную загрузку вашей страницы.

Два типа смешанного контента

Существует два типа смешанного контента: активный и пассивный.

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

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

Пассивный смешанный контент

Пассивный смешанный контент представляет меньший риск, чем активный смешанный контент, но этот риск все равно существует. Например, злоумышленник может:

  • Перехватывайте HTTP-запросы изображений на вашем сайте и меняйте или заменяйте эти изображения.
  • Замените изображения на кнопках, чтобы пользователи их запутали и, например, удалили контент, который собирались сохранить.
  • Испортите свой сайт, заменив изображения порнографическим содержанием.
  • Замените изображения продуктов рекламой чего-то другого.

Даже если злоумышленник не меняет содержимое вашего сайта, он может отслеживать пользователей с помощью запросов смешанного контента. Они также могут определить, какие страницы посещает пользователь и какие продукты он просматривает, на основе изображений или других ресурсов, загружаемых браузером.

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

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

В некоторых случаях Chrome автоматически обновляет пассивный смешанный контент . Это означает, что если ресурс жестко запрограммирован как HTTP, но доступен по HTTPS, браузер загружает версию HTTPS. Если защищенной версии нет, ресурс не загружается.

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

На вкладке «Проблемы» в Chrome DevTools отображается подробная информация о конкретной проблеме со смешанным контентом и способах ее устранения.
Каждый небезопасный ресурс указан в DevTools вместе со статусом ограничения.

Активный смешанный контент

Активный смешанный контент представляет большую угрозу, чем пассивный смешанный контент. Злоумышленник может перехватить и переписать активный контент, используя его, чтобы получить полный контроль над вашей страницей или даже всем вашим веб-сайтом. Это позволяет им изменять любой аспект страницы, включая отображение различного контента, кражу паролей пользователей или других учетных данных для входа, кражу файлов cookie сеанса пользователя или полное перенаправление пользователя на другой сайт.

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

В этой демонстрации показаны примеры активного смешанного контента. Загрузите пример по HTTP , чтобы увидеть контент, который блокируется при загрузке примера по HTTPS . Заблокированный контент также подробно описан на вкладке «Проблемы» в DevTools.

На вкладке «Проблемы» в Chrome DevTools отображается подробная информация о конкретной проблеме со смешанным контентом и способах ее устранения.
Некоторые небезопасные ресурсы блокируются для повышения безопасности вашего сайта.

Спецификация смешанного контента

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

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

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

В последние годы использование HTTPS резко возросло , и он стал очевидным стандартом в Интернете. Это позволяет браузерам теперь более целесообразно рассматривать возможность блокировки всего смешанного контента, даже тех типов подресурсов, которые определены в спецификации смешанного контента как необязательно блокируемые .

Старые браузеры

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

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