Проверка смешанного контента
Обнаруживает ресурсы http://, загруженные внутри HTTPS-страницы.
После перехода сайта на протокол HTTPS случайные теги <img>, <script>, <link> или <iframe>, которые по-прежнему указывают на http://..., нарушают функционирование зелёного замка и в современных браузерах часто не загружаются полностью. Введите URL, инструмент проверки загрузит страницу, проанализирует все подресурсы (изображения, стилевые файлы, скрипты, шрифты, интерактивные рамки, видео, аудио) и выявит все ресурсы, передаваемые по простому HTTP, чтобы вы могли устранить их недостатки до появления предупреждения «не полностью безопасно».
Как работает сканирование
-
1
Введите URL
URL по протоколу HTTPS. Сканер выполняет один переход через перенаправление.
-
2
Страница была загружена
HTML анализируется для каждой ссылки на подресурс.
-
3
Каждый ссылочный элемент классифицируется.
HTTPS, HTTP или протокольно-относительный формат (`//cdn...`).
-
4
Отчёт, группированный по типу
Активный и пассивный контент с рейтингом степени серьезности
Активный и пассивный смешанный контент
Браузеры по-разному обрабатывают два класса:
- Активный смешанный контент (скрипты, iframe, таблицы стилей, XHR/fetch, воркеры, WebSockets). Полностью блокируется современными браузерами. Включает:
<script>,<link rel="stylesheet">,<iframe>,fetch(),XMLHttpRequest,importScripts(). - Пассивный смешанный контент (изображения, видео, аудиопостеры). Загружается, но помечается, замок пропадает, и в адресной строке появляется предупреждение. Включает:
<img>,<audio>,<video>, целиactionу форм.
Почему это важно
- Доверие. Сломанный замок сигнализирует «этот сайт небезопасен» пользователям, которые это замечают.
- Функциональность. Заблокированный активный контент означает, что скрипты не выполняются, а таблицы стилей не применяются, страницы выглядят сломанными.
- SEO. Google предпочитает страницы на HTTPS; неисправные сигналы HTTPS косвенно вредят позициям.
- Соответствие требованиям. PCI DSS и многие другие стандарты соответствия требуют HTTPS без смешанного контента на страницах с платежами.
Распространённые источники
| Источник | Типичное решение |
|---|---|
| Устаревший CDN по HTTP | Перейти на CDN с поддержкой HTTPS |
| Старый код встраивания YouTube / Vimeo | Обновить код встраивания до текущей версии |
| URL-адреса скриптов рекламных сетей | Использовать версию HTTPS (доступна уже много лет) |
| Сторонние шрифты и карты | Заменить http://fonts.googleapis.com → https:// |
| Виджеты кнопок соцсетей | Использовать актуальный код виджета |
| URL изображений, загруженных пользователями | Переписывать при сохранении; загружать через прокси при отображении |
| Жёстко прописанные URL в статьях блога | Массовый поиск и замена в базе данных |
Стратегии исправления
- URL, относительные к протоколу (
//cdn.example.com/a.js). Загружаются с протоколом текущей страницы. Безопасны для большинства CDN, но устарели, предпочитайте явныйhttps://.... - Перепишите в исходном коде. Обновите шаблоны и контент, чтобы использовать
https://. Просканируйте кодовую базу регулярным выражением:http://(?!localhost). - Обновление Content Security Policy.
Content-Security-Policy: upgrade-insecure-requestsуказывает браузеру незаметно переписывать URL-адреса HTTP-ресурсов на HTTPS. Лучший вариант для сайтов, которые не могут проверить каждый URL. <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">, встроенный эквивалент.- Проксируйте ресурсы, доступные только по HTTP, через ваш HTTPS-источник, если на вышестоящем сервере действительно нет конечной точки HTTPS (сегодня редкость).
Что находит проверяющий
- Все внешние URL-адреса, на которые ссылаются
<img>,<script>,<link>,<iframe>,<video>,<audio>,<source>. - Атрибуты
actionу форм. - Ссылки
url(...)во встроенном CSS внутри блоков<style>. - Не сканирует ресурсы, внедрённые через JavaScript, они добавляются во время выполнения и требуют проверки на стороне браузера (панель Issues в Chrome DevTools их обнаруживает).
Часто задаваемые вопросы
Отчасти. Заголовок upgrade-insecure-requests CSP или мета-тег указывают браузерам автоматически преобразовывать URL подресурсов в формате HTTP в формат HTTPS. Это работает только при поддержке сервером протокола HTTPS; если исходный сервер использует только HTTP, преобразование не произойдёт.
Нет. Речь идет только о ресурсах, указанных в статическом HTML-коде; скрипты, создающие элементы <img> во время выполнения, не будут отображаться. Панель проблем Chrome DevTools автоматически обнаруживает такие случаи в браузере.
Эти метки безопасны для страниц с смешанным контентом в режиме HTTPS (они наследуют соответствующие свойства протокола HTTPS). Однако они не работают на внутренних инструментах, работающих только по протоколу HTTP, а также на архивированных страницах; кроме того, их использование устарело. Рекомендуется использовать явный меток https://.
Кэш браузера. Для проверки исправления выполните полный обновление страницы (Ctrl+Shift+R / Cmd+Shift+R) или протестируйте в окне инкогнито. Текущее состояние отображается в отчетах CSP и предупреждениях консоли.
Серверный модуль загрузки получает страницу для анализа; сам URL не сохраняется после отправки запроса.
Сопутствующие инструменты
Проверка длины мета-описания
Измерьте мета-описание в символах и расчётных пикселях, сравните редакционные ориентиры и макеты для компьютера и телефона.
Инструмент проверки заголовков безопасности HTTP
Вставьте HTTP-заголовки ответа и локально проверьте HSTS, CSP, clickjacking, MIME, referrer и политики cross-origin.
Канонический генератор тегов
Создайте действительный тег ссылки rel=canonical для любого URL. Включает проверку URL и типичные ошибки, которых следует избегать.
Симулятор выдачи Google
Посмотрите приблизительный сниппет в стиле Google с лимитами символов для телефона и компьютера. Черновик остаётся в текущем сеансе браузера.
Валидатор XML-карты сайта
Проверьте XML-карту сайта в браузере: ошибки разбора, отсутствующие адреса, повторы URL и распространённые значения полей.
Инструмент для извлечения внешних ссылок
Вставьте сырой HTML-код, при желании укажите базовый URL и получите чистый список без дубликатов всех внешних ссылок http/https в коде для проверки ссылок и анализа SEO.
Инструмент доступен на других языках
- Trình kiểm tra nội dung hỗn hợp [VI]
- Verificador de Conteúdo Misturado [PT]
- Verificador de Contenido Mixto [ES]
- فاحص المحتوى المختلط [AR]
- Vérificateur de contenu mixte [FR]
- 混合コンテンツチェッカー [JA]
- 혼합 콘텐츠 검사기 [KO]
- Mixed Content Checker [ID]
- Controle op gemengde inhoud [NL]
- Kontroll av blandat innehåll [SV]
- เครื่องมือตรวจสอบเนื้อหาผสม [TH]
- Mixed-Content-Prüfer [DE]
- Sprawdzanie mieszanej treści [PL]
- Mixed Content Checker [EN]
- Controllore di contenuti misti [IT]
- Karışık İçerik Denetleyicisi [TR]
- 混合内容检查器 [ZH]