содержимого - смешанное содержимое https wordpress




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

Сегодня утром, обновив браузер 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"`

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

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


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

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

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

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

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

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

Все выборы

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


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


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

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

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

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">

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

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

src="//code.jquery.com

У меня была такая же проблема, потому что я купил шаблон 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]

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

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


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

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

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

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

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

<link rel="stylesheet" href="//code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" type="text/css">
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"></script>

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

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

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

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

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

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

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


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

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