Почему я неожиданно получаю сообщение «Заблокированная загрузка смешанного активного контента» в Firefox?

Сегодня утром, обновив браузер Firefox до последней версии (с 22 до 23), некоторые ключевые аспекты моего бэк-офиса (веб-сайта) перестали работать.

При просмотре журнала Firebug сообщалось о следующих ошибках:

Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"` 

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

Что означает вышеизложенное и как его разрешить?

Я нашел этот пост в блоге, который прояснил некоторые вещи. Чтобы процитировать наиболее релевантный бит:

Смешанное активное содержимое теперь заблокировано по умолчанию в Firefox 23!

Что такое смешанный контент?
Когда пользователь посещает страницу, обслуживаемую через HTTP, их соединение открыто для подслушивания и атак типа «человек-в-середине» (MITM). Когда пользователь посещает страницу, обслуживаемую через HTTPS, их соединение с веб-сервером аутентифицируется и шифруется с помощью SSL и, следовательно, защищается от подслушивающих устройств и атак MITM.

Однако, если страница HTTPS включает HTTP-контент, часть HTTP может быть прочитана или изменена злоумышленниками, даже если главная страница обслуживается через HTTPS. Когда страница HTTPS имеет HTTP-контент, мы называем это содержимое «смешанным». Веб-страница, которую пользователь посещает, только частично зашифрована, так как часть содержимого извлекается без шифрования через HTTP. Блокировщик смешанного содержимого блокирует определенные HTTP-запросы на HTTPS-страницах.

Резолюция, в моем случае, заключалась в том, чтобы просто обеспечить включение jquery : (обратите внимание на удаление протокола):

   

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

UPDATE: эта ссылка из страниц поддержки Firefox (Mozilla) также полезна для объяснения того, что представляет собой смешанный контент, и, как указано в предыдущем параграфе, действительно предоставляет подробную информацию о том, как отображать страницу независимо:

Большинство веб-сайтов будут работать нормально, без каких-либо действий с вашей стороны.

Если вам нужно разрешить отображение смешанного содержимого, вы можете сделать это легко:

Щелкните значок экрана «Смешанный контент-щит» в адресной строке и выберите «Отключить защиту на этой странице» в раскрывающемся меню.

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

Чтобы вернуть предыдущее действие (повторно заблокировать смешанный контент), просто перезагрузите страницу.

Это означает, что вы вызываете http из https. Вы можете использовать src="//url.to/script.js" в вашем теге скрипта, и он будет автоматически обнаружен.

В качестве альтернативы вы можете использовать https в своем src даже если вы опубликуете его на странице http. Это позволит избежать потенциальной проблемы, упомянутой в комментариях.

В отсутствие функции «белого списка» вы должны сделать «все» или «ничего». Вы можете полностью отключить блокировку смешанного контента.


Ничего выбора

Вам необходимо будет навсегда отключить блокировку смешанного содержимого для текущего активного профиля.

В «Awesome Bar» введите «about: config». Если это ваш первый раз, вы получите «Это может аннулировать вашу гарантию!» сообщение.

Да, будьте осторожны. Да, вы обещаете!

Найдите security.mixed_content.block_active_content . Установите для него значение false .


Все выборы

Ответ iDevelApp является удивительным.

Если вы хотите разрешить запрос смешанного содержимого, добавьте тег ниже в тег .

  

Если вы хотите заблокировать, добавьте тег ниже в тег :

  

Если вы используете внутреннюю службу через AJAX, убедитесь, что url указывает на https, это очистило ошибку для меня.

Исходный URL-адрес AJAX: « http://XXXXXX.com/Core.svc/ » + ApiName
Исправленный URL-адрес AJAX: « https://XXXXXX.com/Core.svc/ » + ApiName,

Это дает ошибку из-за безопасности. для этого, пожалуйста, используйте «https», а не «http» на веб-сайте url.

Например :

  "https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" "https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js" 

У меня была такая же проблема, потому что я купил шаблон CSS, и он схватил javascript за внешний файл javascript через http://whatever.js.com/javascript.js . Я перешел на эту страницу в своем браузере, а затем изменил ее на https://whatever... используя SSL и это сработало, поэтому в моем теге JavaScript javascript я просто изменил URL-адрес, чтобы использовать https вместо http и он сработал.

Чтобы принудительно перенаправить протокол https, вы также можете добавить эту директиву в .htaccess в корневой папке

 RewriteEngine on RewriteCond %{REQUEST_SCHEME} =http RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

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

  

Комментарий @Blender – лучший подход. Никогда не записывайте код в любом месте кода, так как его трудно будет изменить, если вы перейдете с http на https . Поскольку вам нужно вручную редактировать и обновлять все файлы.

Это всегда лучше, поскольку он автоматически определяет протокол.

 src="//code.jquery.com 

Я обнаружил, что если у вас есть проблемы с включением или смешением вашей страницы с чем-то вроде http : //www.example.com, вы можете исправить это, поставив // www .example.com вместо этого

Я столкнулся с такой же проблемой, когда мой сайт переходит от http к https. Мы добавили правило для всего запроса перенаправления http на https.

Вам нужно добавить правило перенаправления для запроса на межсайтовый запрос, но вам нужно удалить правило перенаправления для внешнего js / css.

Если ваш сервер приложений является weblogic, убедитесь, что запись WLProxySSL ON существует (а также убедитесь, что она не должна быть комментирована) в файле weblogic.conf в каталоге confs сервера. то перезапустите веб-сервер, он будет работать.

  • Тестирование модhive с помощью Spring Security
  • Почему char предпочитает использовать String для паролей?
  • «Невозможно подключиться к реальному Gmail.com»
  • Можно ли использовать учетную запись администратора для повседневного использования, если UAC включен?
  • Как отключить «Open File Security Warning», когда я хочу запустить загруженные исполняемые файлы?
  • Какими способами запрещается записывать или читать файлы с символом правостороннего переопределения Unicode в их имени (метод подмены вредоносных программ)?
  • Safari продолжает запрашивать разрешение на доступ к цепочке ключей
  • Как разрешены имена серверов сертификатов SSL / Можно ли добавлять альтернативные имена с помощью keytool?
  • Как настроить простой VPN для безопасного подключения к Интернету через незашифрованный Wi-Fi?
  • Метод Windows для обнаружения отравления ARP в локальной сети (LAN)?
  • Внешний вид диалогового windows «Безопасность Java»
  • Interesting Posts

    Что такое альтернатива XPerf для Linux и Mac OS X?

    Толщина границы контрольной точки в ggplot

    Есть ли способ удалить запрещенные разрешения из группы для папки, если у меня нет доступа?

    Сохранять приглашения Outlook в папке «Входящие»

    Изменение цвета кнопки, когда мышь закончилась

    Почему сценарий оболочки дает синтаксические ошибки, когда один и тот же код работает в другом месте?

    Visual Studio 2015 очень медленная

    Изменение поведения перетаскивания в браузере Windows 7 для использования сенсорного экрана

    Powershell – строка экранирования, переданная дочернему процессу

    Существуют ли какие-либо O (1 / n) алгоритмы?

    Почему помощник по обновлению Windows 8 настаивает на том, чтобы загрузить обновление с нуля, когда я ушел, а не возобновил загрузку?

    Получение измененного имени из измененного имени

    Разница между HashSet и HashMap?

    Android – преобразовать classы с Dex для отладки

    загружать и сохранять несколько файлов csv с использованием selenium и python из всплывающего windows

    Давайте будем гением компьютера.