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

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

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

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

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

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

Два типа смешанного контента: активный и пассивный.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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