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

  1. TL; DR
  2. Преимущества HTTPS
  3. Целостность данных
  4. секретность
  5. HTTPS, TLS и SSL
  6. Смешанный контент ослабляет HTTPS
  7. Простой пример
  8. Пример XMLHttpRequest
  9. Пример галереи изображений
  10. Смешанные типы контента и угрозы безопасности, связанные
  11. Пассивный смешанный контент
  12. Активный смешанный контент
  13. Поведение браузера со смешанным контентом
  14. Версии браузера

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

TL; DR

  • HTTPS важен для защиты вашего сайта и ваших пользователей от атак.
  • Смешанный контент ухудшает безопасность и удобство работы вашего HTTPS-сайта.

Запросы ресурсов и веб-браузеры

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

Преимущества HTTPS

Когда браузер запрашивает ресурсы через HTTPS - что означает HTTP Secure - он использует зашифрованное соединение для связи с веб-сервером.

Использование HTTPS имеет три основных преимущества:

  • Аутентификация
  • Целостность данных
  • секретность

Является ли сайт, с которым я разговариваю, тем, кем они себя называют?

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

Целостность данных

Кто-нибудь вмешивался в содержание, которое я отправляю или получаю?

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

секретность

Может ли кто-нибудь увидеть содержимое, которое я отправляю или получаю?

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

HTTPS, TLS и SSL

HTTPS означает HTTP Secure, Hyper (t) ext Transfer Protocol Secure. Безопасной частью здесь является шифрование, добавленное к запросам, отправленным и полученным браузером. В настоящее время большинство браузеров используют протокол TLS для шифрования; TLS иногда называют SSL.

Подробная информация о HTTPS, TLS и SSL выходит за рамки этой статьи, но если вы хотите узнать больше, лучше начать со следующих ресурсов:

Смешанный контент ослабляет HTTPS

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

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

Разработчик должен решать проблемы со смешанным содержимым в вашем приложении.

Простой пример

Загрузка небезопасного скрипта со страницы HTTPS.

Просмотр этого образца страницы по HTTPS - https : //googlesamples.github.io/web-fundamentals/.../simple-example.html - включает в себя тег сценария HTTP, который пытается загрузить смешанный контент.

<! DOCTYPE html> <html> <head> <meta charset = "utf-8"> <meta http-equ = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel = "таблица стилей "href =" https://code.getmdl.io/1.2.1/material.indigo-pink.min.css "> <script defer src =" https://code.getmdl.io/1.2.1/material .min.js "> </ script> <style> body {margin: 2em; } </ style> <title> Пример простого смешанного контента </ title> </ head> <body> <div role = "main"> <h1> Пример простого смешанного контента! </ h1> <p> Просмотрите страницу: <a href="http://googlesamples.github.io/web-fundamentals/fundamentals/security/prevent-mixed-content/simple-example.html"> HTTP </ a> - <a href="https://googlesamples.github.io/web-fundamentals/fundamentals/security/prevent-mixed-content/simple-example.html"> HTTPS </a> </ p> <p > Эта страница загружает скрипт simple-example.js с использованием HTTP. Это простейший случай смешанного контента. Когда браузер запрашивает файл simple-example.js, злоумышленник может внедрить код в возвращаемый контент и получить контроль над всей страницей. К счастью, большинство современных браузеров по умолчанию блокируют этот тип опасного контента и отображают ошибку в консоли JavaScript. Это видно, когда страница просматривается по HTTPS. </ p> <div id = "output"> Ожидание запуска небезопасного сценария ... </ div> <script src = "http://googlesamples.github.io/web-fundamentals/fundamentals/security/prevent- mixed-content / simple-example.js "> </ script> </ div> <script> (функция (b, o, i, l, e, r) {b.GoogleAnalyticsObject = l; b [l] || (b [l] = function () {(b [l] .q = b [l] .q || []). push (аргументы)}); b [l] .l = + новая дата; e = o.createElement (i); r = o.getElementsByTagName (i) [0]; e.src = 'https: //www.google-analytics.com/analytics.js'; r.parentNode.insertBefore (e, r )} (окна, документ, 'сценарий', 'га')); га ( 'создать', 'UA-52746336-1'); га ( 'отправить', 'просмотр страницы'); var isCompleted = {}; function sampleCompleted (sampleName) {if (ga &&! isCompleted.hasOwnProperty (sampleName)) {ga («отправить», «событие», «WebCentralSample», sampleName, «завершено»); isCompleted [sampleName] = true; }} </ script> </ body> </ html>

Попытайся

В этом примере скрипт simple-example.js загружается с URL-адресом HTTP . Это простейший случай смешанного контента. Когда браузер запрашивает файл simple-example.js, злоумышленник может внедрить код в возвращаемый контент и получить контроль над всей страницей.

К счастью, большинство современных браузеров по умолчанию блокируют этот тип опасного контента. Увидеть поведение браузера со смешанным контентом ,

Chrome блокирует небезопасный скрипт.

Пример XMLHttpRequest

Загрузка небезопасных данных с XMLHttpRequest.

Просмотр этого образца страницы по HTTPS - https : //googlesamples.github.io/web-fundamentals/.../xmlhttprequest-example.html - включает запрос XMLHttpRequest через HTTP для извлечения данных JSON смешанного содержимого.

<! DOCTYPE html> <html> <head> <meta charset = "utf-8"> <meta http-equ = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel = "таблица стилей "href =" https://code.getmdl.io/1.2.1/material.indigo-pink.min.css "> <script defer src =" https://code.getmdl.io/1.2.1/material .min.js "> </ script> <style> body {margin: 2em; } </ style> <title> Пример смешанного содержимого XMLHttpRequest </ title> </ head> <body> <div role = "main"> <h1> Пример смешанного содержимого XMLHttpRequest! </ h1> <p> Просмотрите страницу: <a href = "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/xmlhttprequest-example.html" > HTTP </a> - <a href="https://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/xmlhttprequest-example.html"> HTTPS </ a> </ p> <p> Эта страница динамически создает URL-адрес HTTP в JavaScript, в конечном итоге этот URL-адрес используется для загрузки небезопасного ресурса с помощью XMLHttpRequest. Когда браузер запрашивает файл xmlhttprequest-data.js, злоумышленник может внедрить код в возвращаемый контент и получить контроль над всей страницей. К счастью, большинство современных браузеров по умолчанию блокируют этот тип опасного контента и отображают ошибку в консоли JavaScript. Это видно, когда страница просматривается по HTTPS. </ p> <div id = "output"> Ожидание данных ... </ div> <script> var rootUrl = 'http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution / избежать-смешанного контента '; var resources = {jsonData: '/xmlhttprequest-data.js'}; var request = new XMLHttpRequest (); request.addEventListener ('load', function () {var jsonData = JSON.parse (request.responseText); document.getElementById ('output'). innerHTML + = '<br>' + jsonData.data;}); request.open ('GET', rootUrl + resources.jsonData, true); request.send (); </ script> </ div> <script> (function (b, o, i, l, e, r) {b.GoogleAnalyticsObject = l; b [l] || (b [l] = function () {( b [l] .q = b [l] .q || []). push (arguments)}); b [l] .l = + новая дата; e = o.createElement (i); r = o. getElementsByTagName (i) [0]; e.src = '// www.google-analytics.com/analytics.js'; r.parentNode.insertBefore (e, r)} (окно, документ, 'script', 'ga «)); га ( 'создать', 'UA-52746336-1'); га ( 'отправить', 'просмотр страницы'); var isCompleted = {}; function sampleCompleted (sampleName) {if (ga &&! isCompleted.hasOwnProperty (sampleName)) {ga («отправить», «событие», «WebCentralSample», sampleName, «завершено»); isCompleted [sampleName] = true; }} </ script> </ body> </ html>

Попытайся

Здесь HTTP URL динамически создается в JavaScript и в конечном итоге используется XMLHttpRequest для загрузки небезопасного ресурса. Как и в приведенном выше простом примере, когда браузер запрашивает файл xmlhttprequest-data.js, злоумышленник может внедрить код в возвращаемый контент и получить контроль над всей страницей.

Большинство современных браузеров также блокируют эти опасные запросы.

Chrome блокирует небезопасный запрос XMLHttpRequest.

Пример галереи изображений

Загрузка небезопасных изображений с лайтбоксом jQuery.

При просмотре этого образца страницы через HTTPS - https : //googlesamples.github.io/web-fundamentals/.../image-gallery-example.html - изначально у него нет проблем со смешанным контентом; однако при щелчке миниатюрного изображения полноразмерное смешанное изображение загружается по HTTP .

<! DOCTYPE html> <html> <head> <meta charset = "utf-8"> <meta http-equ = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel = "таблица стилей "href =" https://code.getmdl.io/1.2.1/material.indigo-pink.min.css "> <script defer src =" https://code.getmdl.io/1.2.1/material .min.js "> </ script> <style> body {margin: 2em; } </ style> <title> Пример смешанного контента галереи изображений </ title> <script src = "// ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script > <script> $ (document) .ready (function () {$ ('. gallery'). click (function (e) {e.preventDefault (); $ ('. overlay-foreground'). css ('background) -image ',' url ('+ $ (this) .attr (' href ') +') '); $ ('. overlay '). fadeIn (' slow ');}) $ ('. overlay ') .click (function () {$ ('. overlay'). fadeOut ('slow');})}); </ script> <style> .overlay {position: fixed; верх: 0; слева: 0; ширина: 100%; высота: 100%; } .overlay-background {background-color: # 000; Фильтр: альфа (непрозрачность = 80); -моз-непрозрачность: 0,8; -хтмл-непрозрачность: 0,8; непрозрачность: 0,8; z-индекс: 10000; } .overlay-foreground {background-position: center center; повторение фона: без повтора; z-индекс: 10001; } </ style> </ head> <body> <div role = "main"> <h1> Галерея изображений, смешанное содержимое! </ h1> <p> Просмотрите страницу: <a href = "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/image-gallery-example. html "> HTTP </a> - <a href =" https://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/image-gallery-example.html " > HTTPS </a> </ p> <p> Галереи изображений часто используют тег & lt; img & gt; Атрибут тега src для отображения миниатюрных изображений на странице, затем атрибут href тега привязки (& lt; a & gt;) используется для загрузки полноразмерного изображения для наложения галереи. Обычно & lt; a & gt; теги не вызывают смешанного содержимого, но в этом случае код jQuery переопределяет поведение ссылки по умолчанию & mdash; перейти на новую страницу & mdash; и вместо этого загружает изображение HTTP на этой странице. Хотя этот контент не заблокирован, современные браузеры отображают предупреждение в консоли JavaScript. Это видно, когда страница просматривается по протоколу HTTPS и при нажатии на миниатюру. </ p> НАЖМИТЕ МНЕ! -> <a class="gallery" href="http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/puppy.jpg"> <img src = "https://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/puppy-thumb.jpg"> </a> <div class = "overlay overlay-background" style = "display: none;"> </ div> <div class = "overlay overlay-foreground" style = "display: none;"> </ div> </ div> <script> (function (b, o, i, l, e, r) {b.GoogleAnalyticsObject = l; b [l] || (b [l] = function () {(b [l] .q = b [l] .q || []) .push (arguments)}); b [l] .l = + новая дата; e = o.createElement (i); r = o.getElementsByTagName (i) [0]; e.src = '// www.google -analytics.com/analytics.js '; r.parentNode.insertBefore (e, r)} (окно, документ,' script ',' ga ')); га ( 'создать', 'UA-52746336-1'); га ( 'отправить', 'просмотр страницы'); var isCompleted = {}; function sampleCompleted (sampleName) {if (ga &&! isCompleted.hasOwnProperty (sampleName)) {ga («отправить», «событие», «WebCentralSample», sampleName, «завершено»); isCompleted [sampleName] = true; }} </ script> </ body> </ html>

Попытайся

Галереи изображений часто используют атрибут src тега <img> для отображения миниатюрных изображений на странице, а затем атрибут href тега привязки (<a>) используется для загрузки полноразмерного изображения для наложения галереи. Обычно теги <a> не вызывают смешанного содержимого, но в этом случае код jQuery переопределяет поведение ссылки по умолчанию - для перехода на новую страницу - и вместо этого загружает изображение HTTP на этой странице.

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

Смешанные типы контента и угрозы безопасности, связанные

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

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

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

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

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

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

Ниже приведен пример пассивного смешанного контента:

<! DOCTYPE html> <html> <head> <meta charset = "utf-8"> <meta http-equ = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel = "таблица стилей "href =" https://code.getmdl.io/1.2.1/material.indigo-pink.min.css "> <script defer src =" https://code.getmdl.io/1.2.1/material .min.js "> </ script> <style> body {margin: 2em; } </ style> <title> Пример пассивного смешанного контента </ title> <style> audio, img, video {display: block; поле: 10px; } </ style> </ head> <body> <div role = "main"> <h1> Пассивный смешанный контент! </ h1> <p> Просмотрите страницу: <a href = "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/passive-mixed-content. html "> HTTP </a> - <a href =" https://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/passive-mixed-content.html " > HTTPS </a> </ p> <p> Несколько примеров пассивного смешанного контента. При просмотре через HTTPS большинство браузеров <b> не </ b> блокируют этот контент, а вместо этого отображают предупреждения в консоли JavaScript. </ p> <! - Небезопасный аудиофайл, загруженный на защищенную страницу -> <audio src = "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed -content / sleep.mp3 "type =" audio / mp3 "control> </ audio> <! - Небезопасное изображение загружено на защищенную страницу -> <img src =" http://googlesamples.github.io/ web-basics / samples / discovery-and-distribution / избежать смешанного контента / puppy.jpg "> <! - Небезопасный видеофайл, загруженный на защищенную страницу -> <video src =" http: // storage. googleapis.com/webfundamentals-assets/videos/chrome.webm "type =" video / webm "controls> </ video> </ div> <script> (функция (b, o, i, l, e, r) { b.GoogleAnalyticsObject = l; b [l] || (b [l] = function () {(b [l] .q = b [l] .q || []). push (arguments)}); b [l] .l = + новая дата; e = o.createElement (i); r = o.getElementsByTagName (i) [0]; e.src = '// www.google-analytics.com/analytics.js' ; r.parentNode.insertBefore (e, r)} (окно, документ, 'script', 'ga')); га ( 'создать', 'UA-52746336-1'); га ( 'отправить', 'просмотр страницы'); var isCompleted = {}; function sampleCompleted (sampleName) {if (ga &&! isCompleted.hasOwnProperty (sampleName)) {ga («отправить», «событие», «WebCentralSample», sampleName, «завершено»); isCompleted [sampleName] = true; }} </ script> </ body> </ html>

Попытайся

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

Смешанные предупреждения о содержании из консоли Chrome JavaScript.

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

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

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

Ниже приведены примеры активного смешанного контента:

<! DOCTYPE html> <html> <head> <meta charset = "utf-8"> <meta http-equ = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel = "таблица стилей "href =" https://code.getmdl.io/1.2.1/material.indigo-pink.min.css "> <script defer src =" https://code.getmdl.io/1.2.1/material .min.js "> </ script> <style> body {margin: 2em; } </ style> <title> Пример активного смешанного контента </ title> <! - Небезопасный файл скрипта, загруженный на защищенную страницу -> <script src = "http://googlesamples.github.io/web-fundamentals /samples/discovery-and-distribution/avoid-mixed-content/simple-example.js "> </ script> <! - Небезопасная таблица стилей, загруженная на защищенную страницу -> <link href =" http: // googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/style.css "rel =" stylesheet "> <style> .insecure-background {/ * Небезопасные ресурсы, загруженные из Свойство style на защищенной странице, это может происходить во многих местах, включая @ font-face, курсор, background-image и так далее. * / background: url ('http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/puppy-thumb.jpg') no-repeat; } </ style> <style> .insecure-style-holder span {color: #fff; } .insecure-background {color: # 000; вес шрифта: полужирный; background-position: левый центр; повторение фона: без повтора; ширина: 300 пикселей; высота: 140 пикселей; } iframe {ширина: 400 пикселей; высота: 300 пикселей; } </ style> </ head> <body> <div role = "main"> <h1> Активный смешанный контент! </ h1> <p> Просмотрите страницу: <a href = "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/active-mixed-content. html "> HTTP </a> - <a href =" https://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/active-mixed-content.html " > HTTPS </a> </ p> <p> Несколько примеров активного смешанного контента. При просмотре через HTTPS большинство браузеров блокируют это содержимое и отображают ошибки в консоли JavaScript. </ p> <div class = "insecure-style-holder"> <span style = "ba"> Загружен небезопасный стиль </ span> </ div> <div class = "insecure-background"> ​​Загрузка незащищенного фона здесь. .. </ div> <p> Загрузка небезопасного iframe ... </ p> <! - Небезопасная страница iframed, загруженная на защищенную страницу -> <iframe src = "http://googlesamples.github.io/ web-основы / образцы / обнаружение и распространение / избежать смешанного контента / image-gallery-example.html "> </ iframe> <! - Flash-ресурсы также квалифицируются как активный смешанный контент и представляют серьезную угрозу безопасности. Обязательно найдите теги <object> с типом, установленным в «application / x-shockwave-flash», и атрибутом http: // data. -> <! - <object type = "application / x-shockwave-flash" data = "http: // ..."> </ object> -> <script> // Небезопасный ресурс, загруженный с использованием XMLHttpRequest var request = new XMLHttpRequest (); request.addEventListener ('load', function () {var jsonData = JSON.parse (request.responseText); document.getElementById ('output'). innerHTML + = '<br>' + jsonData.data;}); request.open ("GET", "http://googlesamples.github.io/web-fundamentals/samples/discovery-and-distribution/avoid-mixed-content/xmlhttprequest-data.js", правда); request.send (); </ script> <div id = "output"> Ожидание запуска небезопасного сценария ... </ div> </ div> <script> (функция (b, o, i, l, e, r) {b. GoogleAnalyticsObject = l; b [l] || (b [l] = function () {(b [l] .q = b [l] .q || []). Push (arguments)}); b [l ] .l = + новая дата; e = o.createElement (i); r = o.getElementsByTagName (i) [0]; e.src = '// www.google-analytics.com/analytics.js'; r .parentNode.insertBefore (е, г)} (окно, документ, 'скрипт', 'га')); га ( 'создать', 'UA-52746336-1'); га ( 'отправить', 'просмотр страницы'); var isCompleted = {}; function sampleCompleted (sampleName) {if (ga &&! isCompleted.hasOwnProperty (sampleName)) {ga («отправить», «событие», «WebCentralSample», sampleName, «завершено»); isCompleted [sampleName] = true; }} </ script> </ body> </ html>

Попытайся

Смешанные ошибки содержимого из консоли Chrome JavaScript.

Поведение браузера со смешанным контентом

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

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

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

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

Версии браузера

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

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

Была ли эта страница полезной?

да

Что было лучшим на этой странице?

Это помогло мне достичь цели

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

Там была информация, которая мне была нужна

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

Он имел точную информацию

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

Это было легко читать

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

Что-то другое

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

нет

Что было худшим на этой странице?

Это не помогло мне выполнить мои цели

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

Мне не хватало необходимой мне информации

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

Это была неточная информация

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

Было трудно читать

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

Что-то другое

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,Com/icon?
Com/icon?
Com/icon?
Com/icon?
Com/icon?
Была ли эта страница полезной?