Как исправить mixed content при использовании протокола HTTPS
12105
How-to | – Читать 8 минут |
Прочитать позже
АУДИТ САЙТА — СЕРТИФИКАТ HTTPS
Инструкцию одобрил
генеральный директор Интоп-Медиа
Евгений Глущенко
Смешанный контент — это незащищенные элементы, передаваемые по HTTP-протоколу, которые размещены на страницах с SSL-сертификатом. Наличие на страницах с HTTPS-протоколом ссылок с HTTP соединением делает сайт уязвимым и негативно влияет на SEO.
Содержание
Что такое смешанный контент при HTTPS
Каким бывает смешанное содержимое на страницах
Как обнаружить и устранить незащищенный контент при HTTPS
FAQ
Заключение
Что такое смешанный контент при HTTPS
При использовании протокола HTTPS необходимо следить за тем, чтобы на страницах присутствовало только защищенное содержимое. То есть все внутренние и внешние ссылки на изображения, скрипты, другие страницы сайта должны быть прописаны либо в относительном виде, либо с протоколом HTTPS. Желательно сразу все прописывать в относительном виде.
Соединение со страницей по протоколу HTTPS зашифровано с помощью TLS и защищено от перехвата данных злоумышленниками. Если на такой странице присутствует незащищенный контент, страница становится уязвимой — ее можно перехватить и внести изменения в исходный код. Из-за этого возникает уязвимость и соединение перестает быть защищенным.
Если на защищенной странице с соединением HTTPS размещается ссылка, которая начинается с http://, это трактуется поисковыми системами как ошибка смешанного контента, на английском — «mixed content error», которая негативно влияет на продвижение сайта.
Согласно спецификации W3C, браузеры добавляют на страницы со смешанным содержимым сообщение о незащищенном контенте и о том, что подключение к сайту защищено не полностью:
Замок с треугольником, предупреждающий о незащищенном контенте в браузере
Данную ошибку можно отследить с помощью консоли разработчиков Mozilla, а также посредством консоли JavaScript панели инструментов Google Chrome.
Предупреждение в Chrome о наличии смешанного контента — insecure image:
Предупреждение о смешанном контенте в браузере Chrome
Предупреждение в Mozilla:
Предупреждение о смешанном контенте в браузере Mozilla Firefox
Каким бывает смешанное содержимое на страницах
Mixed content делится на две группы — пассивное и активное смешанное содержимое.
Пассивный или отображаемый смешанный контент — те общедоступные элементы, похищение которых не позволяет получить конфиденциальную и финансовую информацию.
Перехват подобных данных по небезопасному протоколу не может принести материальной выгоды злоумышленникам. Единственное, что они могут сделать, — испортить внешний вид сайта подменой этого контента.
К пассивному смешанному контенту относятся картинки, аудио, видео и прочие элементы, в случае перехвата которых злоумышленники могут в хулиганских целях поменять файлы на какие-то нелицеприятные, нарушив стандартную работу ресурса.
Активный смешанный контент содержит скрипты и фреймы, перехват которых может нанести урон сайту и его пользователям. К такому контенту в первую очередь относятся атрибуты src тегов <script> и <iframe>. Также к данной группе принадлежат:
- атрибут href тега <link>;
- атрибут data тега <object>;
- параметр URL в стилях CSS;
- XTMLHttpRequest, включая все его запросы.
При таком типе смешанного содержимого теоретически хакеры могут перехватить данные пользователя, похитить пароль, узнать номера банковских карточек и т.д.
При этом не имеет значения, вводит ли пользователь какие-то важные данные именно при подключении на эту страницу, так как злоумышленники могут перенаправить его с помощью скрипта на небезопасный сайт. Нужная информация будет украдена уже с этого ресурса.
Пользователям в целом не рекомендуется вводить данные своих карточек на сайтах, в надежности которых есть хотя бы небольшие сомнения.
Как обнаружить и устранить незащищенный контент при HTTPS
Если на проекте множество страниц, просмотреть код на всех них с помощью инструментов разработчиков браузеров — слишком трудоемкий процесс. Чтобы автоматизировать и упростить данную задачу, можно воспользоваться модулем «Аудит сайта» от Serpstat. Перейдем для этого в раздел «Сертификат HTTPS» суммарного отчета:
Аудит сайта в Serpstat
В данном отчете будут видны ошибки, связанные со смешанным контентом. Рассмотрим более подробно указанный выше пример:
Ошибочные ссылки со страниц c протоколом HTTPS на страницы HTTP.
Данную ошибку можно исправить, если заменить на указанных страницах во внутренних ссылках незащищенный протокол HTTP на HTTPS.
Страницы с HTTPS ссылаются на страницы с HTTP
Использование поддержки HSTS.Эта ошибка связана с особенностями веб-сервера, для ее устранения необходимо обратиться в службу хостинг-провайдера, узнав, есть ли возможность использования HSTS. Это механизм, активирующий автоматическое перенаправление на безопасный протокол даже при пользовательском вводе ссылки с http://.
Использование поддержки HSTS
Присутствие незащищенных элементов.
При появлении данной ошибки необходимо проверить указанные страницы на наличие исходящих ссылок, начинающихся с http://, и также исправить их на https://. Если ресурсы, на которые ведут ссылки, работают не на защищенном соединении, можно скачать с них необходимые данные.
Например, при использовании изображений или скриптов с других ресурсов их проще всего скачать, затем данные загружаются на собственный сервер. После этого нужно изменить проблемные ссылки на относительные или же использовать протокол HTTPS.
Наличие незащищенных элементов
Помимо перечисленного выше, с помощью отчета Serpstat можно узнать, не попали ли незащищенные ссылки в файл sitemap и не остались ли на проекте страницы с протоколом HTTP.
Кроме того, сайт можно дополнительно просканировать любой программой или сканером сайта типа SEO Frog. Он также выдаст полный список ссылок, которые есть на сайте как с http, так и с https.
О другом способе найти смешанный контент — с помощью краулера Netpeak Spider — рассказали наши друзья из Netpeak Software в этом посте!
Чтобы обнаружить смешанное содержимое на сайтах WordPress, можно также использовать данный плагин.
Поиск смешанного контента в консоли разработчика
Еще один способ обнаружить смешанный контент, подходящий для небольших сайтов, — воспользоваться консолью JavaScript. Зайдите в Chrome и выберите в верхнем правом углу Дополнительные инструменты → Инструменты разработчика → Консоль и просмотрите в ней сообщения об ошибках Mixed content. При их наличии исправьте URL в ссылках с http на https и проверьте HTMI-код вновь. Повторите данную процедуру для всех веб-страниц сайта.
Сообщение о смешанном контенте в консоли разработчика
Чем опасен смешанный контент?
Смешанный контент появляется на странице, когда она загружается через безопасный протокол HTTPS, а некоторые данные на ней, например, скрипты или изображения — через незащищенный протокол http. Это делает страницу уязвимой и позволяет злоумышленникам получить конфединциальные данные пользователей, например, пароли или сведения о банковских карточках.
Как mixed content влияет на SEO?
Смешанный контент негативно влияет на SEO, так как он ухудшает пользовательский опыт и делает страницы сайта небезопасными. Чтобы избежать проблем с продвижением ресурса, необходимо выявлять уязвимости, связанные с mixed content, и сразу же менять небезопасный протокол http на https.
Заключение
Смешанный контент негативно влияет на отображение сайта и его продвижение, поэтому необходимо принимать меры по его своевременному обнаружению и устранению. Это необходимо для обеспечения безопасности пользователей ресурса, эффективного SEO-продвижения и устранения предупреждений браузеров.
Все браузеры обязаны информировать пользователя о наличии незащищенных элементов на странице, поэтому многие потенциальные посетители могут выбрать более безопасный сайт-конкурент, на котором не будет смешанного содержимого.
Обнаружить проблемы со смешанным контентом можно с помощью инструментов разработчиков браузеров, однако это требует продолжительного времени. Более оперативный способ — получить детальные сведения о всех проблемах, связанных с некорректным использованием протокола HTTP на сайте, с помощью Serpstat.
Сканировать сайт на предмет небезопасных ссылок нужно сразу после того, как сайт создан или переведен на https.
При исправлении ошибок в зависимости от ситуации необходимо либо менять ссылки на безопасные с https://, либо загружать нужные файлы на свой сервер с других ресурсов и затем использовать относительные ссылки.
Аудит всего сайта или отдельной страницы в один клик. Полный список ошибок, отсортированный по критичности, пути их устранения и рекомендации. Любая периодичность проверки и автоматическая рассылка отчетов на почту.
Запустить аудит сайта |
Сэкономьте время на изучении Serpstat
Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?
Оставьте заявку и мы свяжемся с вами 😉
Оцените статью по 5-бальной шкале
4. 43 из 5 на основе 7 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.
Рекомендуемые статьи
How-to
Анастасия Сотула
Как внедрить на сайте разметку Twitter Card
How-to
Анастасия Сотула
Как создать статью в Википедии
How-to
Анастасия Сотула
Первые шаги в аффилейт-маркетинге: что такое арбитраж трафика и как на этом заработать
Кейсы, лайфхаки, исследования и полезные статьи
Не успеваешь следить за новостями? Не беда! Наш любимый редактор подберет материалы, которые точно помогут в работе. Только полезные статьи, реальные кейсы и новости Serpstat раз в неделю. Присоединяйся к уютному комьюнити 🙂
Нажимая кнопку, ты соглашаешься с нашей политикой конфиденциальности.
Поделитесь статьей с вашими друзьями
Вы уверены?
Спасибо, мы сохранили ваши новые настройки рассылок.
Сообщить об ошибке
Отменить
Browser Security and Mixed Content
В обозревателях Google Chrome и Mozilla Firefox реализованы процессы блокировки смешанного содержимого для защиты компьютеров от атак на систему безопасности со стороны незащищенного содержимого, ссылки на которое содержат защищенные страницы.
Что такое смешанное содержимое и почему это имеет значение?
Веб-сайты, которые запрашивают конфиденциальную информацию, такую как имена пользователей и пароли, часто используют безопасные соединения (https) для обмена содержимым с используемым компьютером. Если посещение сайта осуществляется через безопасное соединение, и Google Chrome, и Firefox проверяют безопасность передачи содержимого на веб-страницу. Если на странице, поступившей через незащищенные каналы (http), какой-либо обозреватель находит определенные типы содержимого, он автоматически предотвратит загрузку содержимого и в адресной строке отобразится значок щита.
Блокируя содержимое и возможные бреши в системе безопасности, браузеры Chrome и Firefox предотвращают попадание информации к злоумышленникам.
Типы смешанного содержимого
Существует два типа содержимого, которые влияют на работу пользователя при просмотре веб-страницы. В контексте смешанного содержимого каждый из них имеет различные уровни риска.
- Смешанное пассивное содержимое или содержимое отображения
- Смешанное активное содержимое или содержимое сценария
Смешанное пассивное содержимое или содержимое отображения
Смешанное пассивное содержимое — это HTTP-содержимое на веб-сайте HTTPS, которое не может изменить модель DOM веб-страницы. Проще говоря, пассивное содержимое HTTP оказывает ограниченное воздействие на HTTPS-сайт. Например, злоумышленник мог бы заменить изображение, предоставляемое через HTTP, недопустимым изображением или сообщением, вводящим пользователя в заблуждение. Однако у злоумышленника нет возможности воздействовать на остальную часть веб-страницы, за исключением той части, на которую загружено изображение.
Злоумышленник может делать выводы о посещениях пользователем веб-страниц, наблюдая, какие изображения предоставляются пользователю, и извлекая таким образом просмотренные страницы. Кроме того, наблюдая за заголовками HTTP, переданными для извлечения и отправки изображения, злоумышленник может просматривать строку агента пользователя и все файлы cookie, связанные с доменом, с которого запрашивается изображение. Если содержимое предоставлено с домена, совпадающего с доменом основной веб-страницы, то сведения о сеансе потенциально могут быть раскрыты в результате обхода защиты, которую HTTPS предоставляет учетной записи пользователя.
К примерам пассивного содержимого относятся изображения и загрузки аудио- и видеозаписей.
Смешанное активное содержимое или содержимое сценария
Активное содержимое — это содержимое, которое имеет доступ ко всей модели DOM страницы HTTPS или ее частям и может влиять на них. Этот тип смешанного содержимого может изменять поведение страницы HTTPS и потенциально способствовать похищению конфиденциальных данных пользователя. Помимо рисков, уже описанных выше для смешанного пассивного содержимого, смешанное активное содержимое также подвергается воздействию ряда потенциальных направлений атак.
Пример. Злоумышленник может перехватить запросы на активное содержимое HTTP. После чего он может перезаписать ответ, включив в него вредоносный код JavaScript. Вредоносный сценарий может похитить учетные данные пользователя, получить его конфиденциальные данные или совершить попытку установить вредоносную программу в системе пользователя (например, путем использования уязвимых подключаемых модулей, установленных пользователем).
К примерам активного содержимого относятся JavaScript, каскадные таблицы стилей (CSS), объекты, запросы XHR, элементы IFrame и шрифты.
Устранение необходимости в элементах управления браузера
Все содержимое должно предоставляться через HTTPS — так пользователям удобнее работать и не нужно настраивать браузер самостоятельно.
Управление смешанным содержимым с помощью браузера
Если вы посмотрите примеры смешанного содержимого на веб-сайте Mozilla, то увидите, как оно влияет на просмотр веб-страниц, и поймете, как настройки браузера меняют их отображение.
Обратите внимание, что концепции блокирования смешанного содержимого схожи для всех браузеров и что основные различия между браузерами с поддержкой блокирования смешанного содержимого заключаются в управлении доступом к информации и уровнем сведений.
Безопасные веб-страницы, предоставляемые через HTTPS, могут включать небезопасные элементы, которые могут привести к атакам на вашу информацию. Страница, которая содержит как безопасные, так и небезопасные элементы, называется смешанным содержимым.
Чтобы защитить вас от рисков, связанных со смешанным содержимым, Mozilla Firefox блокирует отображение небезопасного содержимого или защищает страницы другим образом. Если вы не боитесь перейти на страницу с небезопасными элементами, можно просмотреть это содержимое, выполнив несколько шагов. В этой статье описаны способы управления доступом к смешанному содержимому в Mozilla Firefox 23 и более поздних версий.
Управление настройками блокировки содержимого
Если в Firefox открыть страницу со смешанным содержимым, в адресной строке отобразится значок щита. Это значит, что некоторое содержимое заблокировано. Выберите значок, чтобы временно отключить эту функцию безопасности и просмотреть небезопасное содержимое.
Выберите Пока отключить защиту, чтобы просмотреть это содержимое. Страница перезагрузится, а в адресной строке отобразятся два значка: щит, перечеркнутый красной линией, и желтый треугольник с восклицательным знаком. Эти значки напоминают вам, что некоторое содержимое на странице ставит под угрозу вашу информацию.
Firefox: блокировка смешанного содержимого
Функция блокировки смешанного содержимого используется в Mozilla Firefox для защиты вашей информации, но при этом вы можете выбрать, просматривать ли смешанное активное содержимое. Содержимое этого типа может повлиять на поведение всей страницы и привести к потенциальной краже конфиденциальных данных пользователя. Однако смешанное пассивное содержимое неспособно изменить поведение всей страницы, а повлияет только на фрагмент содержимого в формате HTTP (незащищенного).
Смешанное пассивное содержимое часто встречается в Интернете и включает элементы веб-страниц, такие как изображения, аудио и видео. Firefox не поддерживает автоматическую блокировку содержимого этого типа, так как это приведет к повреждению многих веб-страниц и ухудшению впечатлений от использования. Однако существует возможность блокировать смешанное пассивное содержимое, внеся изменения в конфигурацию обозревателя.
Подробнее
Дополнительные сведения о смешанном содержимом см. в приведенных ниже статьях на веб-сайте Mozilla.
- Как небезопасный контент может повлиять на мою безопасность? Служба поддержки Mozilla.
- В Firefox 23 включена блокировка смешанного содержимого! Блог Танви, служба обеспечения безопасности Mozilla.
Что такое смешанное содержимое или mixed content? — База знаний
Смешанный контент или mixed content, это когда страница загружается с использованием сертификата SSL по защищенному соединению HTTPS, а некоторые элементы по стандартному HTTP.
Суть HTTPS заключается в передаче данных между пользователем и сервером с помощью шифрования. Важно, чтобы все ресурсы страницы подгружались по зашифрованному соединению.
Смешанное содержимое страницы может быть двух типов:
- Активным, содержащим в себе исполняемые скрипты.
- Пассивным, при котором контент отображается без использования скриптов, например фото, музыка, видео.
Чем опасен mixed content?
Наибольшая опасность от mixed content – кража персональных данных пользователей, как с текущего сайта, так с помощью постороннего. Если говорить про влияние на
Во-первых, посетители оповещаются об опасных ресурсах на странице, после чего пользователи, как правило, покидают сайт.
Во-вторых, Google сам факт отсутствия HTTPS протокола у страницы или ее содержимого принимает за негативный сигнал, после чего также идет понижение позиций в поисковиках.
- Адресная строка браузера
Зайдя на страницу, ее URL-адрес должен начинаться с HTTPS. Далее смотрим на иконку слева от адреса, если содержимое защищено, то отображается замок, в противном случае, появляется надпись: «Не защищено».
При наличии смешанного содержимого в Chrome может пометить всю страницу как не защищенную.
В Firefox информация показывается детальнее, указывая на незащищенный контент.
Искать на сайте проблемные страницы достаточно трудозатратно если сайт большой, то каждую придется перебирать вручную. К тому же, не всегда удается сходу понять из-за какого именно элемента возник конфликт.
- С помощью консоли разработчика
С помощью данного инструмента можно получить информацию о том, какой именно элемент подгружается не по защищенному протоколу. Чтобы открыть консоль, воспользуйтесь комбинацией клавиш – CTRL + Shift + I или проста нажмите F12 в chrome, либо щелкните правой кнопкой по пустому месту страницы и выберете «Просмотреть код». В браузере откроется консоль, где сразу видно mixed content.
- Поиск в Screaming Frog Seo Spider
Для автоматизации поиска страниц со смешанным контентом, так же можно использовать специальный софт. Одной из таких программ является Screaming Frog Seo Spider, которая включает в себя множество инструментов по анализу технической стороны сайта.
- С помощью онлайн-сервиса
Если нет Screaming Frog Seo Spider, можно воспользоваться полуавтоматическим способом поиска страниц со смешанным контентом. Для этого существуют специальные сервисы, которые сканируют сайт и выводят URL-адреса, на которых присутствует mixed content.
Как исправить смешанное содержимое?Как уже стало понятно из статьи, незащищенные элементы подгружаются по HTTP протоколу. Поэтому главная задача, это сделать так, чтобы они грузились только через HTTPS.
Иногда при переезде сайта с HTTP на HTTPS, неправильно настраивают 301 редиректы, в итоге перенаправление срабатывает только для страниц, а содержимое продолжает работать по старому протоколу. В этом случаи нужно перевести всё содержимое на HTTPS.
Связанные статьи
Ошибки сайта 4.х.х и 5.х.х
Ошибка 400 Bad Request Проявляется, в случае некорректного запроса. Следовательно, причину…
500 Internal Server Errors
Как исправить внутреннюю ошибку сервера 500В отличие от других ошибок на стороне сервера, таких…
Ошибки FTP соединений
В данном руководстве рассмотрим распространенные ошибки при работе с FTP и варианты их решения. В…
Как исправить ошибку «Не удалось получить список каталогов» в FileZilla
При использовании FTP клиента FileZilla, если вы можете столкнулись с такой ошибкой: Статус:…
Смешанное содержимое — Веб-безопасность
Когда пользователь посещает страницу, обслуживаемую по протоколу HTTPS, его соединение с веб-сервером шифруется с помощью TLS и, таким образом, защищено от большинства снифферов и атак типа «человек посередине». Страница HTTPS, которая включает содержимое, полученное с использованием открытого текста HTTP, называется страницей со смешанным содержимым . Подобные страницы зашифрованы лишь частично, поэтому незашифрованный контент остается доступным для снифферов и злоумышленников. Это делает страницы небезопасными.
Существует две категории смешанного содержимого: смешанное пассивное/отображаемое содержимое и смешанное активное содержимое . Разница заключается в уровне угрозы наихудшего сценария, если контент переписывается как часть атаки «человек посередине». В случае пассивного контента угроза ниже (страница может содержать вводящий в заблуждение контент, могут быть украдены файлы cookie пользователя). В случае активного контента угроза может привести к фишингу, раскрытию конфиденциальных данных, перенаправлению на вредоносные сайты и т. д.
Смешанное пассивное/отображаемое содержимое
Смешанное пассивное/отображаемое содержимое — это содержимое, обслуживаемое через HTTP, которое включено в веб-страницу HTTPS, но которое не может изменить другие части веб-страницы. Например, злоумышленник может заменить изображение, переданное по протоколу HTTP, неприемлемым изображением или сообщением для пользователя. Злоумышленник также может получить информацию о действиях пользователя, наблюдая за тем, какие изображения предоставляются пользователю; часто изображения отображаются только на определенной странице веб-сайта. Если злоумышленник наблюдает HTTP-запросы к определенным изображениям, он может определить, какую веб-страницу посещает пользователь.
Список пассивного контента
В этом разделе перечислены все типы HTTP-запросов, которые считаются пассивным контентом:
-
src
атрибут) -
<аудио>
(src
атрибут) -
<видео>
(src
атрибут) -
<объект>
подресурсы (когда<объект>
выполняет HTTP-запросы)
Смешанное активное содержимое
Смешанное активное содержимое — это содержимое, имеющее доступ ко всей или части объектной модели документа страницы HTTPS. Этот тип смешанного контента может изменить поведение HTTPS-страницы и потенциально украсть конфиденциальные данные пользователя. Следовательно, в дополнение к рискам, описанным выше для смешанного отображаемого контента, смешанный активный контент уязвим для нескольких других векторов атак.
В случае со смешанным активным содержимым злоумышленник-посредник может перехватить запрос HTTP-содержимого. Злоумышленник также может переписать ответ, включив в него вредоносный код JavaScript. Вредоносный активный контент может украсть учетные данные пользователя, получить конфиденциальные данные о пользователе или попытаться установить вредоносное ПО в систему пользователя (например, используя уязвимости в браузере или его подключаемых модулях).
Риск, связанный со смешанным содержимым, зависит от типа веб-сайта, который посещает пользователь, и от того, насколько конфиденциальными могут быть данные, предоставляемые этому сайту. Веб-страница может иметь общедоступные данные, видимые миру, или частные данные, видимые только после аутентификации. Если веб-страница общедоступна и не содержит конфиденциальных данных о пользователе, использование смешанного активного контента по-прежнему дает злоумышленнику возможность перенаправить пользователя на другие HTTP-страницы и украсть HTTP-куки с этих сайтов.
Примеры активного содержимого
В этом разделе перечислены некоторые типы HTTP-запросов, которые считаются активным содержимым:
-
src
) <ссылка>
(атрибутhref
) (включая таблицы стилей CSS)-
src
атрибут) -
XMLHttpRequest
запросов -
fetch()
запросов - Все случаи в CSS, где
url() 9Используется значение 0023 (
@font-face
,cursor
,background-image
и так далее). -
<объект>
(данные
атрибут) -
Navigator.sendBeacon
(атрибут url
)
Другие типы ресурсов, такие как веб-шрифты и рабочие файлы, могут считаться активным смешанным содержимым, как и в Chrome.
Большинство браузеров предотвращают загрузку смешанного активного содержимого , а некоторые также блокируют смешанное содержимое дисплея .
Загрузка локально доставляемых смешанных ресурсов
Браузеры могут разрешать загрузку локально доставляемых смешанных ресурсов. Сюда входит файл : URL-адреса
и содержимое, доступ к которому осуществляется с адресов обратной связи (например, http://127.0.0.1/
).
- Firefox 55 и более поздние версии разрешают загрузку смешанного контента на петлевой адрес
http://127.0.0.1/
(см. ошибку6),
- Firefox 84 и более поздние версии позволяют загружать смешанный контент на
http://localhost/
иhttp://*.localhost/
URL-адреса, поскольку теперь они сопоставлены с петлевыми адресами (см. ошибку 1220810). - Chrome также допускает смешанный контент на
http://127.0.0.1/
иhttp://localhost/
. - Safari не допускает смешанный контент.
Обновление ресурсов со смешанным отображением
Браузеры могут поддерживать автоматическое обновление запросов на отображение/медиаконтент с HTTP на HTTPS на защищенных страницах (это предотвращает условия смешанного содержимого, при которых одно содержимое загружается безопасно, а другое содержимое небезопасно).
Firefox поддерживает эту функцию в качестве экспериментальной. Его можно включить с помощью настройки security.mixed_content.upgrade_display_content
).
- Если обновление завершается сбоем (из-за того, что хост носителя не поддерживает HTTPS), носитель не загружается.
- Для получения дополнительной информации см. Экспериментальные функции в Firefox > Обновление содержимого смешанного отображения.
Веб-консоль Firefox отображает предупреждающее сообщение о смешанном содержимом в панели «Сеть», когда на странице вашего веб-сайта возникает эта проблема. Ресурс со смешанным содержимым, который был загружен через HTTP, будет отображаться красным вместе с текстом «смешанный контент», который ссылается на эту страницу.
Помимо обнаружения этих предупреждений в веб-консоли, для сообщения о проблемах можно использовать политику безопасности содержимого (CSP).
Начиная с Firefox 23, смешанный активный контент блокируется по умолчанию (и смешанный отображаемый контент можно заблокировать, установив предпочтение). Чтобы веб-разработчикам было проще находить ошибки смешанного содержимого, все заблокированные запросы смешанного содержимого регистрируются на панели «Безопасность» веб-консоли, как показано ниже:
.
Чтобы исправить ошибку этого типа, все запросы к содержимому HTTP должны быть удалены и заменены содержимым, обслуживаемым через HTTPS. Некоторые распространенные примеры смешанного содержимого включают файлы JavaScript, таблицы стилей, изображения, видео и другие медиафайлы.
Примечание: Консоль отобразит сообщение об успешном обновлении содержимого смешанного отображения с HTTP на HTTPS (вместо предупреждения о «Загрузка содержимого смешанного (небезопасного) отображения»).
- Смешанное содержимое — черновик редактора W3C
- Как исправить сайт с заблокированным смешанным содержимым
Последнее изменение: , участниками MDN
Стандарт только для HTTPS — смешанный контент
Когда веб-сайт HTTPS ссылается на небезопасные (HTTP) ресурсы, это называется смешанным содержимым .
Браузеры не позволяют веб-сайту HTTPS загружать большинство небезопасных ресурсов, таких как шрифты, сценарии и т. д. Миграция существующего веб-сайта с HTTP на HTTPS означает идентификацию и исправление или замену смешанного содержимого.
Смешанное содержимое бывает двух видов:
Активное Смешанное содержимое включает ресурсы, которые могут значительно изменить поведение веб-сайта, такие как JavaScript, CSS, шрифты и фреймы. Браузеры отказываются загружать активный смешанный контент, что часто приводит к тому, что затронутые страницы полностью не оформлены или повреждены. Браузеры относятся к ним очень агрессивно из-за последствий их взлома. Например, один скомпрометированный файл Javascript ставит под угрозу весь веб-сайт, независимо от того, как загружаются другие ресурсы.
Пассив Смешанное содержимое включает ресурсы, влияние которых на общее поведение страницы более минимально, например изображения, аудио и видео. Браузеры будут загружать пассивный смешанный контент, но обычно меняют индикатор HTTPS.
В Chrome индикатор веб-сайта для пассивного смешанного контента выглядит следующим образом:
Стратегия миграции
Ситуация со смешанным контентом на каждом веб-сайте будет разной, но общий подход таков:
- Включить
https://
для вашего сайта, но не принудительно перенаправлять. Продолжайте представлять версиюhttp://
в качестве канонического URL-адреса для поисковых систем. - Определите наиболее очевидные и распространенные фрагменты смешанного контента, загрузив свой веб-сайт в браузере по адресу
https://
и наблюдая за поломками. Chrome, Opera и Firefox будут регистрировать любые предупреждения о смешанном содержании в консоли, что должно указывать на необходимые изменения для всего сайта. Используйте их для защиты ваших ссылок на ресурсы. - После их исправления устраните «длинный хвост», отсканировав код и просканировав веб-сайт.
- Наконец, принудительно перенаправьте на HTTPS, включите HSTS и сообщите поисковым системам, что ваш новый URL-адрес начинается с
https://
.
Примечание. В приведенных ниже инструкциях используются инструменты , оптимизированные для среды OS X или Linux . Документация по инструментам для Windows будет долгожданным дополнением к этому руководству.
Наиболее часто используемые сторонние службы, такие как Google Analytics или AddThis, автоматически адаптирует при переходе на HTTPS.
Для других служб может потребоваться обновление вручную, но должна быть готова версия https://
:
googleapis.com/css?family=Open+Sans" rel="stylesheet ">
Вообще говоря, для контента в вашем собственном домене по возможности придерживайтесь URL-адресов, относящихся к сайту:
При переносе сайта с большим количеством материалов, отправленных пользователями или сотрудниками (например, блога), вы можете обнаружить, что медиафайлы связаны со сторонним доменом, который не поддерживает HTTPS.
Это прекрасная возможность улучшить конфиденциальность вашего веб-сайта и уменьшить вашу зависимость от третьих лиц, вместо этого скопировав эти медиафайлы на свой собственный сервер и разместив их самостоятельно.
Сканирование кода
После выявления и устранения очевидных проблем вы можете сканировать файлы своего веб-сайта на предмет потенциальных клиентов. В системе на базе Mac или Linux очень удобен grep
:
Изображения и сценарии:
grep -r "src=\"http:" *
Таблицы стилей и шрифты:
grep -r "href=\"http:" * | grep "<ссылка"
Импорт CSS и ссылки:
grep -r "url(\"http:"
Поиск ссылок в JavaScript является более сложной задачей, но вы можете просмотреть все ссылки http:
и попытаться исключить гиперссылки в HTML или Markdown:
grep -r "http:" | grep -v "href=\"http:" grep -r "http:" | grep -v "](http:"
Сканирование вашего веб-сайта
сканирование смешанного содержимого
— очень удобный инструмент командной строки, который может сканировать http://
или https://
веб-сайт, чтобы узнать, содержит ли он какие-либо ссылки на небезопасные ресурсы. Это особенно полезно, если ваш контент в основном управляется в CMS.
сканирование смешанного содержимого
требуется PHP, а затем установка Composer. Установите с помощью Composer, а затем используйте его со своим доменом:
, сканирование смешанного содержимого https://https.cio.gov.
Вы должны увидеть что-то вроде этого:
[2015-03-15 16:56:48] MCS.NOTICE: Scanning https://https.cio.gov/ [] [] [2015-03-15 16:56:49] MCS.INFO: 00000 - https://https.cio.gov/ [] [] [2015-03-15 16:56:49] MCS.INFO: 00001 - https://https.cio.gov/faq/ [] [] [2015-03-15 16:56:49] MCS.INFO: 00002 - https://https.cio.gov/hsts/ [] [] [2015-03-15 16:56:49] MCS.INFO: 00003 - https://https.cio.gov/resources/ [] [] [2015-03-15 16:56:49] MCS.NOTICE: Отсканировано 4 страницы для смешанного контента [] []
Любой обнаруженный смешанный контент будет отмечен как ПРЕДУПРЕЖДЕНИЕ
. Вы также можете получить результаты в виде объектов JSON, разделенных новой строкой:
сканирование смешанного содержимого https://https. cio.gov --format=json
Автоматическое обнаружение смешанного содержимого
Владельцы веб-сайтов также могут использовать заголовок Content Security Policy , который будет указывать браузерам проверять заданный URL-адрес с информацией о любых наблюдаемых предупреждениях о смешанном содержимом.
Политика CSP, в которой указана проверка связи только для предупреждений о смешанном содержимом, может выглядеть следующим образом:
Content-Security-Policy-Report-Only: default-src https:; URI-отчет https://example.com/reporting/endpoint
Отчетность CSP, особенно для более крупных служб, представляет собой расширенный подход, который, вероятно, потребует планирования и настройки специальной группой разработчиков.
Некоторые ресурсы:
- Инженер описывает подход Twitter по состоянию на 2014 год.
-
report-uri.io
, который предлагает размещенный URI для отчетов о нарушениях CSP (или нарушениях закрепления открытого ключа) и сопутствующую панель мониторинга. - Недавно разработанное расширение CSP, Upgrade Insecure Requests, будет указывать браузерам автоматически обновлять ссылочные URL-адреса HTTP до URL-адресов HTTPS, не вызывая обнаружения смешанного содержимого. Это расширение не доработано и по состоянию на июнь 2015 года доступно только в Chrome.
Почему браузеры блокируют смешанный контент?
Если бы смешанный контент не был заблокирован, злоумышленник мог бы получить контроль над основным сайтом, проведя атаку на любой из его активных ресурсов.
Даже с пассивным содержимым, таким как изображения, злоумышленники могут манипулировать тем, как выглядит страница, поэтому желтый значок замка предназначен для того, чтобы сообщить, что безопасность была ослаблена и доверие пользователей должно быть снижено. Кроме того, злоумышленник сможет прочитать любые файлы cookie для этого домена, которые имеют Безопасный флаг
и установка файлов cookie.
Когда веб-сайт доступен по адресу http://
, загрузка других небезопасных ресурсов не вызывает никаких предупреждений, поэтому веб-сайты, работающие по простому HTTP, часто накапливают многие из этих подресурсов.
Вопросы безопасности для стороннего контента
Добавление или загрузка контента из сторонних доменов создает дополнительный вектор атаки.
Даже если на странице все элементы страницы загружены через HTTPS, изменения в конфигурациях HTTPS могут привести к уязвимостям в системе безопасности. Например, если «foo.gov» загружает элемент страницы по HTTPS с «bar.com», но «bar.com» не так требователен к конфигурации HTTPS/TLS, элемент страницы с «bar.com» может разрешить внедрение вредоносного ПО на страницу.
Например, если «bar.com» использует заведомо слабую конфигурацию TLS, злоумышленник в сети может изменить или заменить элемент страницы, чтобы внедрить программное обеспечение, которое может читать содержимое страницы или, потенциально, использовать уязвимости браузера и обеспечить более глобальный доступ к клиентскому устройству. Соответственно, так же, как важно регулярно оценивать конфигурацию HTTPS/TLS веб-сайтов правительства США, важно также оценивать конфигурации доменов, которые обслуживают сторонние элементы страницы.
Обратите внимание, что это по-прежнему серьезное улучшение по сравнению с включением содержимого сторонних доменов по незашифрованному HTTP. Атаки на конфиденциальность, целостность и безопасность подключений к сторонним доменам по незашифрованному протоколу HTTP тривиальны.
Смешанное содержимое
1. Введение
Этот раздел не является нормативным.
Когда пользователь успешно загружает веб-страницу с example.com
через
безопасный канал (например, HTTPS), пользователю гарантируется, что никакой объект
между пользовательским агентом и example.com
прослушивали или
подделка данных, передаваемых между ними. Однако эта гарантия является
ослаблен, если веб-страница загружает подресурсы, такие как скрипт или изображения, через
небезопасное соединение. Например, небезопасно загруженный скрипт может позволить
злоумышленник может прочитать или изменить данные от имени пользователя. Ненадежно загруженный
изображение может позволить злоумышленнику сообщить пользователю неверную информацию
(например, сфабрикованная биржевая диаграмма), изменить состояние на стороне клиента (например, установить
cookie) или побудить пользователя совершить непреднамеренное действие (например, изменить
надпись на кнопке). Эти запросы известны как смешанный контент.
В этой спецификации подробно описывается, как пользовательский агент может уменьшить эти риски путем блокирование определенных типов смешанного контента и более строгое поведение в некоторых контексты.
Однако более ранние версии этой спецификации не полностью защищали конфиденциальность и целостность данных пользователей. Небезопасный контент, такой как изображения, аудио и видео в настоящее время могут быть загружены по умолчанию в безопасных контекстах. Защищенные страницы могут даже инициировать небезопасные загрузки, которые полностью выходят из песочницы пользовательского агента.
Кроме того, пользователи не имеют четкого индикатора безопасности при загрузке смешанного содержимого. Когда веб-страница загружает смешанный контент, браузеры отображают промежуточный индикатор безопасности (например, удаление значок замка), что не дает пользователям четкого указания, следует ли им доверять страница. Этот UX также не оказался достаточным стимулом для разработчиков избегать смешанного контента. поскольку веб-страницы по-прежнему часто загружают смешанный контент. Блокировка всего смешанного контента предоставить пользователю более простую мысленную модель — веб-страница либо загружается через безопасный транспорта или нет — и призывайте разработчиков безопасно загружать любой смешанный контент, который необходимые для правильной работы их веб-страницы.
Таким образом, эта спецификация была обновлена, чтобы предоставить пользователям лучшие гарантии безопасности и конфиденциальности, а также лучший пользовательский интерфейс безопасности при минимизации поломка. Вместо того, чтобы рекомендовать браузерам просто строго блокировать весь смешанный контент, эта спецификация рекомендует автоматическое обновление смешанного контента :
.Смешанное содержимое, которое пользовательские агенты еще не блокируют, должно быть автоматически обновлено до безопасного транспорта.
Если запрос не может быть автоматически обновлен, он будет заблокирован.
Автообновление позволяет избежать загрузки небезопасных ресурсов на безопасный веб-страниц, сводя к минимуму усилия разработчиков, необходимые для предотвращения поломки.
В этой спецификации рекомендуется только автоматическое обновление типов подресурсов со смешанным содержимым. которые в настоящее время не заблокированы по умолчанию, и не рекомендует автообновление типов контента которые уже заблокированы. Это сделано для того, чтобы свести к минимуму количество изменений, видимых в Интернете; мы только хотим автоматически обновлять контент, если он продвигает нас к цели блокировки всего смешанного контента по умолчанию.
В этой спецификации также явно представлена концепция смешанных загрузок . смешанный загрузка — это ресурс, который пользовательский агент обрабатывает как загрузку, инициированную безопасным контексте, но загружается через небезопасное соединение. Пользовательские агенты должны блокировать смешанные загрузки потому что они могут выйти из песочницы пользовательского агента (в случае исполняемого файла) или содержать конфиденциальную информацию (например, загруженную банковскую выписку). Это особенно вводит в заблуждение, потому что пользовательские агенты обычно указывают пользователю, что он находится на защищенной странице, при инициализации и завершение смешанной загрузки.
2. Основные понятия и терминология
- смешанное содержимое
- Запрос представляет собой смешанный контент , если его URL-адрес не является потенциально надежным URL-адресом [SECURE-CONTEXTS] и контекст, ответственный за
его загрузка запрещает смешанные контексты безопасности (см. §4.3 Запрещают ли настройки смешанные контексты безопасности? нормативное определение последнего).
Ответ представляет собой смешанный контент , если это неаутентифицированный ответ, и контекст ответственный за загрузку требует запрещает смешанные контексты безопасности.
Внутри контекста, который ограничивает смешанное содержимое (например,
https://secure.example.com/
):Запрос скрипта
http://example.com/script.js
смешанный контент . Поскольку запросы сценариев можно заблокировать, пользовательский агент скорее вернет сетевую ошибку. чем загрузка ресурса.Запрос изображения
http://example.com/image.png
смешанный контент . Поскольку запросы изображений можно обновлять, пользовательский агент может переписать URL-адрес какhttps://example. com/image.png
, иначе он будет заблокирован. Загрузка.
Примечание. «Смешанное содержимое» изначально было определено в разделе 5.3 [WSC-UI]. Этот документ обновляет это первоначальное определение.
Примечание. [XML] также определяет несвязанное «смешанное содержимое». концепция. Это потенциально сбивает с толку, но, учитывая, что термин почти повсеместное использование в контексте безопасности между пользовательскими агентами более чем десятилетие, практический риск путаницы кажется низким.
- ответ без аутентификации
- Мы знаем апостериори , что ответ ( ответ ) не прошел проверку подлинности, если URL-адрес ответа не является потенциально заслуживающим доверия URL-адресом.
- вложение документа
- Учитывая документ
- смешанная загрузка
- Смешанная загрузка — это ресурс, который пользовательский агент обрабатывает как загрузку, который был инициирован безопасным контекстом, но загружается через небезопасное соединение.
URL-адрес с априорной аутентификацией эквивалентен потенциально заслуживающему доверия URL-адресу [SECURE-CONTEXTS].
3. Категории контента
В идеальном мире каждый пользовательский агент должен блокировать все смешанные содержание без исключения. К сожалению, в сегодняшней ситуации это нецелесообразно. Интернет; пользовательский агент должен быть более тонким в своих ограничениях, чтобы избежать ухудшение опыта на значительном количестве веб-сайтов.
Имея это в виду, мы разделили смешанный контент на две категории: §3. 1 Обновляемый контент и §3.2 Блокируемый контент.
3.1. Обновляемый контент
Обновляемый контент ранее назывался опционально блокируемым в более ранние версии этой спецификации.
Смешанное содержимое является обновляемым , когда риск разрешения его использования в качестве смешанного содержимого перевешивается риском нарушая значительные части сети. Это может быть связано с тем, что смешанное использование типа ресурса достаточно высока, а также потому, что ресурс сам по себе является малорисковым. Тот факт, что эти типы ресурсов могут быть обновлены, это не значит, что их сейф просто так они менее катастрофически опасны, чем другие типы ресурсов. Например, изображения и значки часто являются центральными элементами пользовательского интерфейса в интерфейсе приложения. Если злоумышленник изменил Значки «Удалить электронную почту» и «Ответить» окажут реальное влияние на пользователей.
В эту категорию входят:
Запросы, инициатором которых является пустая строка, а адресатом является "
image
".Примечание. Это соответствует большинству изображений, загруженных через
img
(включая документы SVG, загруженные как изображения, так как они заблокированы от выполнения скрипта или получения подресурсов) и CSS (фоновое изображение, граничное изображение и т. д.). Он не включает элементыimg
, которые используют srcset или изображение.Запросы, адресатом которых является «
видео
».Примечание. Это соответствует видео, загруженному через
video
иsource
.Запросы, пункт назначения которых "
аудио
".Примечание. Это соответствует аудио, загруженному через
audio
иsource
.
Мы дополнительно ограничиваем эту категорию в §4.4 Следует ли блокировать запрос на получение как смешанный контент? путем принудительного отказа любого CORS-поддерживаемого
запрос. Это означает, например, что изображения со смешанным содержимым, загруженные через
, будут заблокированы. Это хороший пример общего принципа, согласно которому содержание относится к этому
категория только , когда он слишком широко используется, чтобы его можно было сразу заблокировать. Рабочая группа
намеревается выделить больше блокируемых подмножеств с течением времени.
3.2. Блокируемый контент
Любой смешанный контент, который не подлежит обновлению, как определено выше, считается блокируемым . Типичные примеры
такого рода содержимое включает сценарии, данные плагинов, данные, запрошенные через XMLHttpRequest
и так далее.
Примечание. Запросы навигации могут быть нацелены на контексты просмотра верхнего уровня; это не считается смешанным содержанием. См. §4.4 Следует ли блокировать запрос на получение как смешанный контент? для деталей.
Примечание. Обратите внимание, что запросы, сделанные от имени подключаемого модуля, блокируются. Мы признаем, однако, что пользовательские агенты не всегда могут выполнять эти запросы. Плагины NPAPI, например, часто имеют прямой доступ к сети и, как правило, могут полностью обойти пользовательский агент. Мы рекомендуем что пользовательские агенты блокируют эти запросы, когда это возможно, и что поставщики плагинов реализуют смешанные самостоятельно проверять содержимое, чтобы снизить риски, описанные в этом документе.
4. Алгоритмы
1" data-lt="Upgrade a mixed content request to a potentially trustworthy URL, if appropriate"> 4.1. Обновите запрос смешанного содержимого до потенциально надежного URL-адреса, если это уместно
Примечание. Спецификация Fetch будет подключаться к этому алгоритму для обновления смешанный контент на HTTPS.
Учитывая запрос Request request , этот алгоритм будет переписан его URL-адрес, если запрос считается обновляемым смешанным контентом, по следующему алгоритму:
- Если выполняется одно или несколько из следующих условий, возврат без изменения запрос :
- URL-адрес запроса является потенциально надежным URL-адресом.
- §4.3 Запрещают ли настройки смешанные контексты безопасности? возвращает "
Не ограничивает смешанную безопасность Содержимое
" при применении к запросу клиента. - режим запроса —
CORS
. - пункт назначения запроса не "
изображение
",аудио
", или "видео
". - запрос пункт назначения "
изображение
" а инициатором запроса является «imageset
».
- Если запрашивает , схема URL-адреса
http
, установите схему URL-адреса запроса наhttps
и вернитесь.Примечание. Для [url] мы не изменяем порт, поскольку он будет установлен в значение null, когда схема
http
и интерпретируется как 443 после изменения схемы наhttps
4.2. Модификации предыдущих алгоритмов
Примечание. Этот раздел включает модификации алгоритмов в более ранних версиях. версии спецификации — игнорировать различие между необязательно блокируемым и блокируемым смешанным контентом, поскольку все необязательно блокируемый смешанный контент теперь обновляется автоматически.
4.3. Есть ли настройки
запретить смешанные контексты безопасности? И документы, и работники имеют объекты параметров среды, которые
можно исследовать по следующему алгоритму, чтобы определить
ограничивают ли они смешанный контент. Этот алгоритм возвращает « Запрещает смешанные контексты безопасности
» или « Не запрещает смешанные контексты безопасности
»,
по мере необходимости.
Учитывая объект настроек среды ( настройки ):
Если настройки ’ источник является потенциально надежным источником, то возврат «
запрещает смешанные контексты безопасности
».Если в настройках есть ответственный документ документ , то:
Хотя документ имеет встроенный документ:
Установите документ в документ документа для встраивания.
Пусть настроек встраивания будет соответствующим объектом настроек документа .
Если настройки встраивания ’ источник является потенциально надежным источником, то возврат «
запрещает смешанные контексты безопасности
».
Вернуть «
Не ограничивает смешанные контексты безопасности
».
Если документ имеет встроенный документ, пользовательский агент должен проверить не только сам документ, но и просмотр верхнего уровня контекст, в который вложен документ, так как это контекст который контролирует ожидания пользователя относительно состояния безопасности ресурс, который она загружает. Например:
http://a. com
загружает http://evil.com
.
небезопасный запрос будет разрешен, как a.com
не был загружен
по защищенному соединению.
https://a.com
загружает http://evil.com
.
небезопасный запрос будет заблокирован, так как a.com
был загружен через
безопасное соединение.
http://a.com
кадры https://b.com
, которые
загружает http://evil.com
. В этом случае небезопасный запрос
на evil.com
будет заблокирован, так как b.com
был
загружается через защищенное соединение, хотя a.com
не было.
https://a.com
фреймы data:
URL, который загружает http://evil.com
. В этом случае небезопасный запрос на evil.com
будет заблокирован, так как a. com
был загружен
по безопасному соединению, даже несмотря на то, что в рамке data:
URL
не будет блокировать смешанный контент, если он загружен в контексте верхнего уровня.
4.4. Должен ли запрос
на получение блокироваться как смешанный контент?Примечание. Спецификация Fetch подключается к этому алгоритму, чтобы определить, запрос должен быть полностью заблокирован (например, потому что запрос относится к блокируемому контенту, и мы можем предположить, что он не будет загружается через защищенное соединение).
Учитывая запрос Request request , пользовательский агент определяет должен ли запрос запрос выполняться или нет через следующий алгоритм:
- Возврат разрешено , если один или несколько из следующих
выполняются условия:
- §4. 3 Запрещают ли настройки смешанные контексты безопасности? возвращает «
Не ограничивает смешанные контексты безопасности
» при применении к клиенту запроса . - URL-адрес запроса является потенциально надежным URL-адресом.
- Пользовательский агент получил указание разрешить смешанный контент, т.к. описано в §7.2 Пользовательские элементы управления).
- запрос пункт назначения
«
документ
» и запрос целевой просмотр context не имеет родительского контекста просмотра.Примечание. Мы исключаем переходы верхнего уровня из проверок смешанного содержимого, но пользовательские агенты МОГУТ выбрать принудительную проверку смешанного содержимого на небезопасная отправка формы (см. §7.1 Отправка формы).
- §4. 3 Запрещают ли настройки смешанные контексты безопасности? возвращает «
- Возврат заблокирован .
4.5. Следует ли блокировать ответ
на запрос как смешанный содержание?Примечание. Если запрос продолжается, мы по-прежнему может захотеть заблокировать ответ в зависимости от состояния соединения который сгенерировал ответ (например, потому что запрос может быть заблокирован, но соединение не аутентифицировано), и нам также необходимо обеспечить что Service Worker случайно не вернет неаутентифицированный ответ на блокируемый запрос. Этот алгоритм используется для создания эта решимость.
При наличии запроса запроса и ответа ответа пользовательский агент определяет, какой ответ должен быть возвращается по следующему алгоритму:
- Вернуть разрешено , если одно или несколько из следующих
выполняются условия:
- §4. 3 Запрещают ли настройки смешанные контексты безопасности? возвращает
Не ограничивает Смешанное содержимое
при применении к клиенту запроса . - URL-адрес ответа является потенциально надежным URL-адресом.
- Пользовательский агент получил указание разрешить смешанный контент, т.к. описано в §7.2 Пользовательские элементы управления).
- запрос пункт назначения
«
документ
» и запрос целевой просмотр context не имеет родительского контекста просмотра.Примечание. Мы исключаем переходы верхнего уровня из проверок смешанного содержимого, но пользовательские агенты МОГУТ выбрать принудительную проверку смешанного содержимого на небезопасная отправка формы (см. §7.1 Отправка формы).
- §4. 3 Запрещают ли настройки смешанные контексты безопасности? возвращает
- Возврат заблокирован .
5. Интеграция
5.1. Модификации Fetch
Fetch Standard §4.1 Основная выборка должна быть изменена для вызова §4.1 Обновить запрос смешанного содержимого до потенциально надежного URL-адреса, если это применимо, в запросе между шагами 3 и 4. То есть обновляемый смешанный контент должен автоматически обновляться до HTTPS перед применением блокировки смешанного контента.
5.2. Изменения в HTML
Обработка ответа навигации должна быть изменена следующим образом. Шаг 3 должен прервать загрузку и вернуть, если URL-адрес активного документа источника является потенциально заслуживающим доверия URL-адресом и любым URL-адресом в ответе список URL-адресов не является потенциально заслуживающим доверия URL-адресом.
Аналогичное изменение необходимо внести для загрузки гиперссылки. В этом алгоритме шаг 6. 2 следует изменить, чтобы вернуться (прервать загрузку), если тема узел URL-адрес документа является потенциально надежным URL-адресом и любой URL-адрес в списке URL-адресов ответа не является потенциально надежным URL-адресом (где ответ является результатом получение запроса ).
Примечание. Загрузки не обновляются автоматически, как другие типы смешанного содержимого, поскольку агент пользователя не всегда знает перед запросом ресурса, что он будет загружен.
Примечание. Ресурсы загружаются до того, как пользовательский агент решит, следует ли прервать их на основе небезопасное соединение. Таким образом, конфиденциальная информация может передаваться по сети, даже если пользователь агент в конечном итоге блокирует загрузку. Как правило, это неизбежно, поскольку пользовательский агент не может знать, что ресурс должен быть загружен до тех пор, пока он не получит окончательный ответ, но заблокировав ресурс, пользовательские агенты будут поощрять операторов веб-сайтов обслуживать загрузки по защищенным соединениям.
6. Устаревание
6.1.
Строгая проверка смешанного содержимого
Более ранняя версия этой спецификации определяла директиву CSP block-all-mixed-content
. Сейчас это устарело,
потому что весь смешанный контент теперь блокируется, если его нельзя обновить автоматически.
Примечание. Директива upgrade-insecure-requests
([upgrade-insecure-requests]) не
устарело, поскольку позволяет разработчикам обновлять блокируемый контент. Только эта спецификация
обновляет обновляемый контент по умолчанию.
7. Вопросы безопасности и конфиденциальности
В целом ожидается, что автоматическое обновление обновляемого смешанного содержимого будет обеспечивать безопасность и безопасность. конфиденциальность, защищая больше пользовательского трафика от сетевого прослушивания и несанкционированного доступа.
Существует риск возникновения проблемы безопасности или конфиденциальности на веб-странице при загрузке ресурса, который
разработчик не собирался. Например, предположим, что на веб-сайте размещено безобидное изображение.
из http://www.example.com/image.jpg
, а для некоторых
причина https://www.example.com/image.jpg
перенаправляет на сайт отслеживания. Браузер
теперь будет введена проблема конфиденциальности без явного разрешения разработчика или пользователя
согласие. Однако ожидается, что такие случаи будут чрезвычайно редкими. Риск снижается за счет
автоматическое обновление только обновляемого контента, а не блокируемого контента. Блокируемый контент
может представлять больший риск, например, риск загрузки устаревшего и уязвимого кода JavaScript.
библиотека.
7.1. Отправка формы
Если §4.3 Запрещают ли настройки смешанные контексты безопасности? возвращает Restricts Mixed Content
при применении к соответствующему объекту настроек Document
, тогда пользовательский агент МОЖЕТ выбрать предупреждение пользователей о
наличие одного или нескольких элементов формы
с атрибутами действия, чьи
значения не являются потенциально надежными URL-адресами.
Пользовательский агент МОЖЕТ выбрать предупреждение пользователей при отправке формы 9Элемент 0023 с атрибутами действия, значения которых не являются потенциально надежными URL-адресами.
и разрешить пользователям прерывать отправку. Если пользовательский агент предупреждает об элементе формы
отправки на потенциально ненадежные URL-адреса, он ДОЛЖЕН также предупреждать и разрешать пользователям
прервать отправку, если при отправке действие элемента формы формы
перенаправляется на
потенциально ненадежный URL-адрес, раскрывающий информацию формы
.
Кроме того, пользовательский агент МОЖЕТ обрабатывать отправку формы из такого Документ
как блокируемый запрос, даже если отправка происходит в контексте просмотра верхнего уровня.
7.2. Пользовательские элементы управления
Пользовательский агент МОЖЕТ предлагать пользователям возможность отменить свое решение о блокировании блокируемого смешанного контента на определенной странице.Примечание. На практике пользовательский агент, вероятно, не может обойтись без предложения такая задняя дверь. Тем не менее, разрешение смешанных сценариев, в частности, очень опасная опция, и каждый пользовательский агент ДЕЙСТВИТЕЛЬНО НЕ ДОЛЖЕН [RFC6919] предоставляют такой выбор пользователям без тщательного рассмотрения и информирование о связанном с этим риске.
Пользовательский агент МОЖЕТ предлагать пользователям возможность отменить свое решение автоматически обновлять обновляемый смешанный контент на конкретная страница.
Любые такие элементы управления, предлагаемые пользовательским агентом, ДОЛЖНЫ также предлагаться через API доступности для пользователей вспомогательных технологий.
8. Благодарности
В дополнение к замечательным отзывам, полученным от рабочей группы WebAppSec, Команда безопасности Chrome оказала неоценимую помощь при подготовке этой спецификации. В в частности, Крис Палмер, Крис Эванс, Райан Сливи, Михал Залевски, Кен Бьюкенен и Том Сепес дали много первых отзывов. Энн ван Кестерен объяснил Fetch, помог определить интерфейс для этой спецификации, и предоставил ценные отзывы об обновлении уровня 2. Брайан Смит помог сохранить сфокусированность, аккуратность и разумность спецификации.
Требования соответствия выражаются комбинацией описательные утверждения и терминология RFC 2119. Ключевые слова «ОБЯЗАТЕЛЬНО», «НЕ ДОЛЖЕН», «ТРЕБУЕТСЯ», «ДОЛЖЕН», «НЕ ДОЛЖЕН», «ДОЛЖЕН», «НЕ ДОЛЖЕН», «РЕКОМЕНДУЕТСЯ», «МОЖЕТ» и «ДОПОЛНИТЕЛЬНО» в нормативных частях настоящего document должны интерпретироваться, как описано в RFC 2119. Однако для удобства чтения эти слова не отображаются в верхнем регистре. буквы в этой спецификации.
Весь текст данной спецификации является нормативным, за исключением разделов явно помечены как ненормативные, примеры и примечания. [RFC2119]
Примеры в этой спецификации вводятся словами «например»
или отделены от нормативного текста с помощью class="example"
,
следующим образом:
Информационные примечания начинаются со слова «Примечание» и отделяются от
нормативный текст с class="note"
, например:
Требования, сформулированные в императиве как часть алгоритмов (например, «удалить все начальные пробелы» или «вернуть false и прервать эти шагов") следует интерпретировать со значением ключевого слова ("должен", «должен», «может» и т. д.), используемые при введении алгоритма.
Требования соответствия, выраженные в виде алгоритмов или конкретных шагов, могут реализованы любым образом, пока конечный результат эквивалентен. В в частности, алгоритмы, определенные в этой спецификации, предназначены для быть простыми для понимания и не предназначены для выполнения. Исполнители рекомендуется оптимизировать.
Как быстро исправить предупреждения WordPress о смешанном содержимом (HTTPS/SSL)
Запуск вашего сайта WordPress через HTTPS больше не является обязательным. Это не только более безопасно (все зашифровано, ничего не передается в виде простого текста), но и вызывает доверие, является фактором ранжирования в поисковых системах и предоставляет более точные реферальные данные. К сожалению, при переходе с HTTP на HTTPS владельцы веб-сайтов могут столкнуться с рядом проблем. Одно из них — «предупреждения о смешанном содержании».
Проблемы с производительностью, связанные с шифрованием, были устранены по большей части благодаря HTTP/2, а Let’s Encrypt изменил всю отрасль, предоставив вам простой способ получить бесплатные сертификаты SSL.
Что наиболее важно для онлайн-бизнеса, такие веб-браузеры, как Google Chrome и Mozilla Firefox, блокируют сайты, работающие не по протоколу HTTPS, и показывают потенциальным посетителям более строгие предупреждения. Например, если вы используете устаревшие версии TLS, вы можете столкнуться с уведомлениями ERR_SSL_OBSOLETE_VERSION в Chrome. Предупреждения — это последнее, что вы хотите, чтобы ваши посетители видели.
Чтобы помочь вам избежать этих проблем, у нас есть подробное руководство по переходу с HTTP на HTTPS. Однако после выполнения этого процесса вы все еще можете видеть предупреждения о смешанном содержании.
Сегодня мы покажем вам несколько способов исправить эту проблему на вашем сайте WordPress.
Предпочитаете смотреть видеоверсию?
Что такое предупреждение о смешанном содержимом?
Предупреждение о смешанном содержимом появляется в браузере пользователя, когда сайт WordPress, который он пытается посетить, одновременно загружает HTTPS- и HTTP-скрипты или контент. Это может вызвать проблемы, поскольку HTTP и HTTPS — совершенно разные протоколы.
При переходе на HTTPS все должно работать по этому протоколу, включая ваши изображения, файлы JavaScript и т. д. Ниже приведены несколько примеров того, что может произойти, если часть вашего контента по-прежнему загружается через HTTP.
Примеры предупреждений о смешанном содержимом
В настоящее время Chrome является самым популярным браузером, которым пользуются более 77% пользователей Интернета. Таким образом, большинство ваших посетителей увидят следующее предупреждение:
Предупреждение о смешанном содержании в Google ChromeКонечно, не все используют Chrome.
Вот пример того, что происходит в Firefox, когда на сайте WordPress отображается предупреждение о смешанном содержимом:
Предупреждение о смешанном содержимом в FirefoxДалее приведен пример того, как это предупреждение выглядит в Microsoft Edge:
Предупреждение о смешанном содержимом в Microsoft EdgeА вот как это отображается в Internet Explorer:
Предупреждение Internet Explorer о смешанном содержимомКак видите, Internet Explorer, вероятно, является одним из худших мест для появления этого предупреждения, потому что он фактически прерывает отображение страницы до тех пор, пока всплывающее окно нажимается.
Это не ошибка, которую должны видеть посетители любого браузера. Это можно исправить, но сначала вам нужно понять, почему это происходит.
Запуск вашего сайта WordPress через HTTPS больше не является обязательным. ✅ Но при переходе с HTTP ➡️ HTTPS может сопровождаться предупреждениями о смешанном содержании. Узнайте, как быстро решить их с помощью этого руководства 💥Нажмите, чтобы твитнуть
Что вызывает предупреждения о смешанном содержании?
Мы обнаружили, что наиболее распространенные предупреждения о смешанном содержании появляются сразу после того, как кто-то переносит свой сайт WordPress с HTTP на HTTPS. Некоторые HTTP-ссылки просто переносятся, и это приводит к срабатыванию предупреждений о смешанном содержимом.
Вот еще несколько причин появления этого предупреждения:
- Вы только что добавили новую услугу или плагин на свой сайт. В частности, разработчики иногда используют абсолютные пути ( http://yourdomain.com/style. css ) в своих плагинах или темах для ссылки на CSS и JavaScript вместо использования относительных путей (/style.css ).
- Ваши изображения имеют жестко заданные URL-адреса (например, http://yourdomain.com/image.png ), которые работают по протоколу HTTP. Это могут быть посты, страницы или даже виджеты.
- Вы ссылаетесь на HTTP-версии внешних скриптов (размещенных jQuery, Font Awesome и т. д.).
- У вас есть встроенные видеоскрипты, использующие HTTP вместо HTTPS.
К сожалению, вы не сможете обнаружить настоящий источник проблемы, пока не начнете устранение неполадок.
Имея это в виду, давайте рассмотрим некоторые методы, которые можно использовать для исправления предупреждений о смешанном содержимом.
Как исправить предупреждения о смешанном содержимом (4 шага)
Вы можете выполнить четыре простых шага ниже, чтобы исправить предупреждения о смешанном содержимом WordPress. Этот процесс предполагает, что вы уже сделали следующее:
- Установлен сертификат SSL
- HTTPS перенаправлен на HTTPS (для всего сайта)
В следующих примерах мы будем использовать пример сайта разработки.
Шаг 1. Узнайте, какие ресурсы загружаются через HTTP
Первое, что вам нужно сделать, это выяснить, какие ресурсы все еще загружаются через HTTP.
Помните, что эти предупреждения могут появляться только в определенных областях вашего сайта, а не глобально. Перейдите на страницу, которая вызывает предупреждение, и запустите Chrome DevTools, нажав:
- Windows: F12 или CTRL + Shift + I
- macOS : Cmd + Opt + I
Вы также можете открыть Chrome DevTools из меню инструментов вашего браузера:
Инструменты разработчика Chrome в меню инструментов браузераЕсть несколько мест, где вы можете проверить, какие ресурсы не загружаются через HTTPS.
Первая — вкладка Консоль . Обратите внимание, что вам может потребоваться обновить страницу после того, как вы откроете Chrome DevTools, чтобы она правильно загрузила все.
Если присутствуют ошибки смешанного содержимого, они будут выделены красным или желтым цветом. Как правило, они сопровождаются информацией, поясняющей, что «Этот запрос был заблокирован; контент должен передаваться через HTTPS». Это означает, что настройки браузера настроены на автоматическую блокировку любого HTTP-контента.
Стремясь обеспечить загрузку страниц только через HTTPS, Chrome начал блокировать смешанный контент по умолчанию с Chrome 79. Совсем недавно они развернули функции, чтобы начать автоматическое обновление смешанных изображений и мультимедиа.
Таким образом, при использовании Chrome DevTools вы можете увидеть сообщения со смешанным содержимым, указывающие на то, что некоторые запрошенные элементы были автоматически обновлены:
Chrome DevTools смешанное содержимое в консолиЗдесь мы можем ясно видеть, что существует множество небезопасных элементов, вызывающих предупреждения о смешанном содержимом , включая таблицу стилей и сценарий.
Вы также заметите, что был сделан запрос на небезопасное изображение .jpg, которое было автоматически обновлено до HTTPS. (Примечание: если бы это было в другом браузере, отличном от Chrome, оно не было бы автоматически обновлено).
Вы также можете просмотреть вкладку Security в Chrome DevTools. Это покажет вам все незащищенные источники:
Безопасность Chrome DevToolsНа вкладке Сеть вы также можете найти список заблокированных запросов:
Сеть Chrome DevToolsЕсли вы не используете Chrome или просто хотите краткий обзор ошибок, вы также можете использовать бесплатный инструмент, такой как Why No Padlock.
Сканирует отдельную страницу и показывает все незащищенные ресурсы:
Почему нет замка, сводка ошибок смешанного содержимогоЭтот инструмент прост в использовании. Вы можете просто ввести свой URL-адрес и щелкнуть Test Page , и он покажет вам все присутствующие ошибки. Кроме того, это бесплатно!
Массовая проверка предупреждений HTTPS
Если вас беспокоит остальная часть вашего сайта, вы можете проверить ее массово. Вот несколько рекомендуемых вариантов для этого:
Подпишитесь на информационный бюллетень
Хотите узнать, как мы увеличили трафик более чем на 1000%?
Присоединяйтесь к более чем 20 000 других людей, которые получают нашу еженедельную рассылку с советами по WordPress, посвященными инсайдерской информации!
Подпишитесь сейчас
- Существует небольшой бесплатный инструмент под названием SSL Check от JitBit, который вы можете использовать для сканирования вашего HTTPS-сайта и поиска небезопасных изображений и сценариев, которые будут вызывать предупреждающее сообщение в браузерах. Количество просканированных страниц ограничено 400 на сайт.
- Инструмент аудита сайта Ahrefs может обнаруживать смешанный контент HTTPS/HTTP. Если у вас уже есть доступ к этому решению или он есть у кого-то из вашей маркетинговой команды, это может быть отличным способом тщательной проверки.
- HTTPS Checker — это настольное программное обеспечение, которое вы можете установить для сканирования вашего сайта. Это может помочь вам проверить наличие «небезопасных» предупреждений и содержимого после больших изменений. Он доступен для Windows, Mac и Ubuntu. Бесплатный план позволяет проверять до 500 страниц за одно сканирование.
- SSL Insecure Content Fixer – это подключаемый модуль WordPress, который вы можете установить на свой сайт, чтобы обнаруживать ошибки, приводящие к предупреждениям о смешанном содержании. Его можно использовать бесплатно, и он даже автоматически выполняет исправления для устранения ошибок.
Использование любого из вышеперечисленных инструментов может помочь вам сэкономить время по сравнению с ручной проверкой каждой страницы вашего сайта на наличие предупреждений и ошибок смешанного содержимого. Для тщательной оценки потенциальных ошибок на вашем сайте вы можете рассмотреть возможность использования комбинации этих решений.
Шаг 2. Проверка доступности ресурсов HTTP по HTTPS
Следующим шагом является подтверждение того, что ресурсы, загружаемые по HTTP, доступны по HTTPS. Они, скорее всего, есть, нужно просто обновить ссылки.
В качестве примера предположим, что наши ошибки смешанного содержимого указывают на следующий небезопасный скрипт jQuery и изображение .jpg:
- http://ajax.googleapis.com/ajax/libs/jquery/3.31/jquery.min.js
- http://example-site.com/wp-content/50d00acf6e4%2Fpuppy-thumb.jpg?v=1600261043278
Если мы возьмем оба этих URL-адреса, введем их в адресную строку нашего браузера и заменим «http» на «https» в начале, мы увидим, что они загружаются нормально. Поэтому нам просто нужно выполнить поиск и замену на нашем сайте.
Шаг 3. Выполните поиск и замену в WordPress
Существует множество способов выполнить поиск и замену в WordPress. В этом разделе мы познакомим вас с двумя различными рекомендуемыми вариантами.
Если вам интересно, мы не рекомендуем использовать такой инструмент, как Really Simple SSL. Хотя это отличный плагин, лучше не полагаться на такое решение в долгосрочной перспективе. Вы не будете возвращаться к HTTP позже, поэтому лучше сделать это правильно и обновить URL-адреса HTTP в своей базе данных (как мы покажем вам ниже).
Если вы являетесь клиентом Kinsta, вы можете использовать наш инструмент поиска и замены, который доступен прямо на панели управления MyKinsta.
Перейдите на страницу Инструменты вашего сайта и нажмите Поиск и замена :
Инструмент поиска и замены в MyKinstaЗатем в поле поиска введите значение, которое вы хотите найти в базе данных.
В этом случае мы будем использовать наш HTTP-домен: http://kinstalife.com . Затем нажмите кнопку Search . Инструмент поиска и замены покажет количество вхождений данной строки.
Установите флажок Заменить , чтобы продолжить процесс замены. В поле Заменить на введите то, что должно заменить искомое значение. В этом случае мы будем использовать наш HTTPS-домен: https://kinstalife. com .
Мы также рекомендуем установить флажок Очистить кеш при готовности , чтобы автоматически очищать кеш Kinsta после завершения процесса поиска и замены. Наконец, нажмите кнопку Заменить :
Поиск и замена HTTP на HTTPS в MyKinstaВажно: Убедитесь, что вы не включаете начальные/конечные пробелы ни в одном из этих полей, так как это может привести к нежелательным результатам.
Поиск и замена альтернатив
Если вы не используете Kinsta, вы можете выполнить ту же задачу с помощью бесплатного плагина Better Search Replace , а затем просто удалить его после того, как закончите:
Плагин Better Search Replace WordPressВы Вы можете загрузить этот инструмент из каталога плагинов WordPress или найти его на панели управления WordPress.
После активации просто найдите свой домен HTTP ( http://yourdomain.com ) и замените его своим доменом HTTPS ( https://yourdomain.com ):
Лучший поиск Замените параметры плагина WordPressВ качестве альтернативы вы также можете выполнить поиск и замену с помощью PHP-скрипта interconnect/it Search Replace DB или WP-CLI.
Посмотрите наше видео, чтобы узнать больше об использовании поиска и замены в WordPress:
Шаг 4. Убедитесь, что предупреждения о смешанном содержимом больше не отображаются
После того, как вы закончите поиск и замену, вы захотите перепроверить свой сайт , чтобы убедиться, что предупреждения о смешанном содержании исчезли. Мы рекомендуем посетить ваш сайт в интерфейсе и щелкнуть несколько страниц, глядя на индикатор состояния браузера вверху в адресной строке.
На нашем сайте мы видим, что изображение .jpg теперь исправлено, но предупреждение о небезопасном сценарии остается.
Это потому, что мы выполнили поиск и замену ресурсов, загружаемых из нашего собственного домена. Предупреждение jQuery вызвано внешним скриптом, который необходимо обновить вручную:
Предупреждение о смешанном содержании в консолиВ этом случае скрипт нужно было вручную добавить в наш заголовок WordPress ( header.php ). Он должен использовать относительный URL-адрес, поэтому мы обновили его до //ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js :
Внешний HTTP-скрипт добавлен в заголовок WordPress в редакторе тем.Поиск и замена, скорее всего, решат все ваши проблемы.
Как правило, вы столкнетесь с дополнительными проблемами только в том случае, если на вашем сайте WordPress есть что-то жестко запрограммированное.
Если вы считаете, что в одном из ваших плагинов или тем жестко запрограммирован внешний скрипт, и у вас возникли проблемы с его отслеживанием, не стесняйтесь обращаться за помощью к соответствующему разработчику.
Нет предупреждений о смешанном содержимом Примеры
Теперь вы знаете, что искать, чтобы исправить эти ошибки смешанного содержимого.
Вот пример того, что происходит в Chrome, когда все правильно загружается через HTTPS, без предупреждений о смешанном содержимом:
Chrome без предупреждений о смешанном содержимомFirefox предложит аналогичное сообщение:
Firefox не содержит предупреждений о смешанном содержимомИ вот что вы увидите в Microsoft Edge:
Microsoft Edge не содержит предупреждений о смешанном содержимомХотя формулировка сообщения может немного отличаться в зависимости от того, какой браузер вы используете. используя, вы должны увидеть уведомление о безопасном соединении. Если вы это сделаете, вы будете знать, что больше не имеете дело с ошибками смешанного содержимого на своем сайте WordPress.
Что насчет HSTS?
Некоторым из вас может быть интересно, почему вы не можете просто использовать HSTS (HTTP Strict Transport Security) для решения этой проблемы. HSTS был создан как способ заставить браузер использовать безопасные соединения, когда сайт работает через HTTPS.
Это заголовок безопасности, который вы можете добавить на свой веб-сервер, и он отображается в заголовке ответа как «Strict-Transport-Security».
Однако HSTS не является быстрым решением для всех предупреждений о смешанном содержимом . HSTS просто обрабатывает перенаправления, тогда как предупреждение о смешанном содержимом является функцией самого браузера. Вы также не можете контролировать, включают ли сторонние сайты HSTS.
Поэтому вам всегда нужно обновлять URL-адреса http:// . Эса Йокинен глубже погружается в причины в этом обсуждении сбоя сервера.
Дополнительные рекомендации (особые случаи)
Если вы используете конструктор страниц Elementor, вы также должны зайти в настройки Elementor и обновить там URL-адрес вашего сайта, чтобы файлы CSS были восстановлены с новым URL-адресом.
После того, как вы это сделаете, очистка кеша должна устранить все небезопасные предупреждения из-за Elementor. Кроме того, если вы используете Kinsta CDN, рекомендуется также очистить зону CDN.
Готовы перейти на HTTPS, но недовольны предупреждениями о смешанном содержимом? 🥴 Узнайте, как решить эту проблему с помощью этого руководства!Нажмите, чтобы твитнутьСводка
Предупреждения о смешанном содержимом могут вызывать затруднения, особенно если их можно отнести к нескольким причинам. К счастью, есть несколько простых шагов, которые можно предпринять, чтобы решить эти проблемы.
В большинстве случаев простой поиск и замена должны быстро устранить предупреждения о смешанном содержании и вернуть сайт в нормальное состояние всего за несколько минут. Если это не исправит все, вероятно, остался один или два жестко закодированных скрипта. Вам нужно будет найти их и обновить вручную, чтобы устранить эту ошибку, или нанять разработчика, который сделает это за вас.
Если у вас есть какие-либо отзывы или вы столкнулись с какими-либо проблемами, сообщите нам об этом ниже в разделе комментариев!
Экономьте время, затраты и повышайте производительность сайта с помощью:
- Мгновенная помощь от экспертов по хостингу WordPress, круглосуточно и без выходных.
- Интеграция с Cloudflare Enterprise.
- Глобальный охват аудитории благодаря 35 центрам обработки данных по всему миру.
- Оптимизация с помощью нашего встроенного мониторинга производительности приложений.
Все это и многое другое в одном плане без долгосрочных контрактов, сопровождаемой миграции и 30-дневной гарантии возврата денег. Ознакомьтесь с нашими планами или поговорите с отделом продаж, чтобы найти план, который подходит именно вам.
Как исправить ошибки смешанного содержимого в WordPress
Центр поддержки
Последнее обновление: 14 июня 2022 г.
Устранение неполадок HTTPSSSL
Если вы недавно добавили SSL-сертификат, при посещении вашего сайта вы можете увидеть символ защищенного замка в адресной строке. Однако в некоторых случаях вы можете столкнуться с проблемой, которая называется «смешанное содержимое», «небезопасное содержимое» или сценарии показа заблокированы. Эти проблемы означают, что сайт запрашивается по защищенному URL-адресу, но некоторые отдельные ресурсы на странице не загружаются безопасным образом через SSL.
О смешанном содержимом
Распространенным примером смешанного содержимого может быть случай, когда изображение загружается как небезопасное ( http ://mydomain.com/image.jpg
), но страница была запрошена с помощью SSL ( https ://mydomain.com
). Это может привести к одному из двух последствий для вашего сайта:
- Символ защищенного замка не отображается или сломан
- Символ защищенного замка появляется, но изображение или ресурс не отображаются
Вы можете убедиться, что на ваш сайт влияют ошибки смешанного содержимого, проверив консоль Inspect Element . Вы увидите желтые предупреждения, если из-за небезопасного содержимого замок не отображается, и красные предупреждения, если содержимое было заблокировано из-за того, что оно небезопасно.
- В большинстве браузеров щелкните правой кнопкой мыши или , удерживая клавишу Ctrl, щелкните в любом месте страницы и выберите Проверить .
- Нажмите на вкладку Консоль . Если ваш браузер пометил что-либо как небезопасное, это будет отображаться здесь.
Вы также можете использовать такие инструменты, как Why No Padlock, чтобы определить, какой контент не загружается через HTTPS, или если есть какие-либо проблемы с вашим SSL.
Устранение ошибок смешанного содержимого
Чтобы устранить ошибки и показать полностью защищенный сайт, вам потребуется изменить HTTP на HTTPS на всех ресурсах.
- Убедитесь, что установлен действительный SSL, щелкнув значок замка.
- Проверьте дату, чтобы убедиться, что срок действия сертификата не истек
- Домен должен соответствовать URL-адресу, указанному в адресной строке
- Настройте страницу для принудительного HTTPS-запроса:
- Откройте страницу SSL на пользовательском портале
- Щелкните имя среды
- Щелкните SSL
- 6
- Защищать все URL-адреса — по умолчанию каждая страница загружается через HTTPS. Не используйте настройки плагина для принудительного использования HTTPS с этой опцией, иначе вы получите ошибку цикла перенаправления.
- Безопасные определенные URL-адреса — Указанные страниц загружаются по HTTPS по умолчанию. Убедитесь, что тестируемая страница защищена.
- Откройте страницу SSL на пользовательском портале
- Измените URL вашего сайта на странице Settings > General панели администратора WordPress с HTTP на HTTPS .
- Очистить кеш сервера WP Engine
- Очистить кеш браузера ИЛИ,
- Открыть страницу в окне инкогнито, чтобы обойти локальное кеширование:
- При открытой странице нажмите Ctrl + Shift + N (Windows, Linux и Chrome OS) или ⌘ + Shift + N (Mac).
Дополнительные действия
Если проблема не устранена, это означает, что некоторые URL-адреса вашего сайта жестко запрограммированы в базе данных или файлах. Есть несколько подходов к решению этой проблемы.
ПРИМЕЧАНИЕ
Перед изменением содержимого сделайте резервную копию своего веб-сайта.
- Найдите в своей базе данных активы с небезопасными ссылками и замените их защищенной версией.
- Поиск:
http: // yourdomainhere .com
- Заменить:
https: // .
- Поиск:
ПРИМЕЧАНИЕ
Обязательно замените на правильную версию вашего домена с www или без www. Это должно соответствовать тому, что установлено в качестве основного домена.
- Плагин исправления небезопасного содержимого
- Использовать правило постобработки HTML
- Очистить кеш сервера
- Очистить кеш браузера ИЛИ,
- Открыть страницу в окне инкогнито, чтобы обойти локальное кеширование:
- При открытой странице нажмите Ctrl + Shift + N (Windows, Linux и Chrome OS) или ⌘ + Shift + N (Mac).
ПРИМЕЧАНИЕ
Сеансы браузера в режиме инкогнито сохраняют кэш на время сеанса. Начните новый сеанс инкогнито для каждого теста.
- Просмотрите файлы темы и плагина:
- Проверьте код плагина или темы в панели администратора WordPress или через SFTP, чтобы увидеть, есть ли какие-либо URL-адреса, которые жестко запрограммированы как HTTP в самих файлах.
SSL и CDN
Если ваш сайт использует нашу включенную CDN, следует помнить о нескольких предостережениях.
- Зоны CDN WP Engine имеют два разных домена для соединений HTTP и HTTPS.
- Небезопасно (по умолчанию):
http:// ZONEID .wpengine.netdna-cdn.com
- Безопасный:
https:// ZONEID -wpengine.netdna-ssl.com
- После включения CDN щелкните правой кнопкой мыши или , удерживая нажатой клавишу CTRL, на странице вашего сайта и выберите Просмотреть исходный код страницы
- Найдите в исходном коде вашего сайта URL-адрес, подобный следующему. пример. Идентификатор вашей зоны — это символы в начале этого пути.
- Строки зон CDN различаются для каждой среды.
- Небезопасно (по умолчанию):
- Возможно, вам потребуется попросить нашу службу поддержки включить SSL в вашей зоне CDN.
ПРИМЕЧАНИЕ
Если вы используете собственный домен CDN (пример: cdn.yourdomain.com), вы должны предоставить нашей службе поддержки SSL-сертификат и файл ключа для защиты этого домена на сервере CDN. SSL-сертификаты Let’s Encrypt нельзя использовать в пользовательских доменах CDN.
- Используете ли вы плагин для минификации и CDN? (пример: автооптимизация или WP Rocket)
- Просмотрите настройки плагина и обязательно заполните защищенный URL CDN (https).
СЛЕДУЮЩИЙ ШАГ: Сравните параметры сети WP Engine, чтобы увидеть, как можно легко повысить производительность сайта
Что такое смешанный контент?
Что такое смешанный контент?
Смешанное содержимое — это сочетание безопасных и незащищенных ресурсов, находящихся на веб-странице.
Когда защищенная веб-страница пытается использовать незащищенные ресурсы (изображения, CSS и т. д.), это приводит к «смешанному содержимому».
Смешанное содержимое ослабляет безопасность страницы
Чтобы страница считалась защищенной, HTML и все ресурсы страницы должны безопасно обслуживаться через HTTPS.
Если какой-либо из этих ресурсов не обслуживается безопасным образом, это приводит к смешанному содержимому.
Если у вас есть безопасная страница (HTML, доставленная через HTTPS), которая вызывает изображение или любой ресурс из незащищенного источника, страница теперь будет считаться полностью небезопасной .
Незащищенная веб-страница представляет множество различных угроз для вас, вашего бизнеса и ваших пользователей. Что именно представляют собой эти угрозы, зависит от типа вызываемого ресурса (мы вернемся к этому ниже).
Смешанный контент влияет на то, как ваша веб-страница отображается в браузерах.
Последствия смешанного содержимого
Существует множество причин избегать смешанного содержимого. Наиболее очевидным является то, что смешанный контент означает, что ваша веб-страница не защищена и данные пользователя не защищены.
Плохо для пользователей
Если ваша страница не защищена, кто-то может отслеживать или украсть пользовательские данные ваших посетителей. Даже если никакие данные не будут украдены, когда пользователь посещает вашу страницу, он столкнется с различными предупреждениями или заявлениями браузера, указывающими, что страница не защищена. Это делает страницу непрофессиональной и заставит людей дважды подумать, прежде чем доверять сайту.
Плохо для бизнеса
Когда пользователь не доверяет вашей странице, он вряд ли будет взаимодействовать с ней или покупать товары на этой странице.
Плохо для вас
Незащищенные страницы подвергают вас многим типам угроз. Это может включать в себя такие вещи, как изменение внешнего вида вашего сайта и даже того, что он продает. Ваш SEO может быть поврежден, если кто-то вставит ссылки на ваши веб-страницы.
Типы смешанного содержимого
Существует два типа смешанного содержимого:
Пассивное смешанное содержимое
Пассивное смешанное содержимое — это содержимое, которое по определению не может манипулировать страницей вокруг себя (например, изображения).
Активный смешанный контент
Активный смешанный контент — это контент, который по определению является способным манипулировать страницей вокруг него (например, Javascript).
Веб-браузеры стремительно продвигаются к безопасному Интернету
Веб-браузеры, такие как Chrome, Firefox и Internet Explorer, пытаются защитить своих пользователей от небезопасных страниц и проблем с веб-безопасностью. Они делают это, выпуская предупреждения, ярлыки и другие визуальные подсказки. В некоторых случаях они вообще не загружают страницу или, по крайней мере, не загружают некоторые ресурсы страницы, если они кажутся небезопасными.
Было бы идеально, если бы браузеры блокировали весь смешанный контент. Однако это приведет к поломке большого количества веб-сайтов, на которые миллионы пользователей полагаются каждый день. Текущий компромисс заключается в том, чтобы блокировать самые опасные типы смешанного контента, но по-прежнему разрешать запрашивать менее опасные типы.
Документация по основным веб-сайтам Google
Если некоторые ресурсы вашей веб-страницы не загружаются, это может привести к тому, что ваша веб-страница будет выглядеть или работать некорректно.
В любом случае смешанного содержимого веб-страница не защищена, и каждый браузер будет отображать разные предупреждения. Точные предупреждения, которые они показывают, со временем меняются, но общая тенденция становится все строже и строже. У каждого браузера есть свои собственные системы и поведение, но все они ведут к одной и той же конечной цели — более безопасной и надежной сети.
Смешанный контент нуждается в исправлении
Не существует «хорошего» или «безопасного» смешанного контента. Веб-страницы со смешанным содержимым не являются безопасными. Если они у вас вообще есть и вы не хотите, чтобы веб-браузеры предупреждали ваших пользователей, вам нужно это исправить.
Поиск ошибок смешанного содержимого
Как правило, вы обнаружите ошибки, когда посещаете веб-страницы в браузере и замечаете, что на панели браузера нет зеленого замка.
Когда вы сталкиваетесь с такой страницей, вы можете использовать панель безопасности Chrome, чтобы определить, какие файлы или вызовы вызывают смешанный контент.
Исправление ошибок смешанного содержимого
Ошибки смешанного содержимого возникают из-за того, как ресурсы вызываются HTML.
Здесь у нас есть изображение, вызываемое по URL-адресу HTTP (не HTTPS):
В этом случае нам нужно будет подтвердить, что изображение доступно по HTTPS. Если к изображению можно получить доступ по HTTPS, просто отредактируйте URL-адрес, указав «HTTPS», а не «HTTP».
Вызвав это изображение с безопасного URL-адреса, мы исправили его, и оно больше не будет создавать ошибку или предупреждение смешанного содержимого.
Если бы изображение было недоступно по URL-адресу HTTPS, вам нужно было бы либо не использовать это изображение, либо разместить его на защищенном домене.
Использование политики безопасности содержимого для исправления ошибок смешанного содержимого
Если вы ищете автоматические способы исправления некоторого смешанного содержимого, вы можете рассмотреть возможность использования директивы "Небезопасные запросы на обновление" . Это заголовок безопасности, который говорит браузеру игнорировать «http» в ваших запросах и вместо этого менять их на «https». Это очень полезная вещь во многих ситуациях и хороший запасной вариант, чтобы вы не пропустили какой-либо смешанный контент на своем сайте.
Узнайте больше о небезопасных запросах на обновление здесь.