Почему IE8 неправильно жалуется на загрузку незащищенных элементов?

Я управляю сайтом электронной коммерции, работающим по протоколу SSL.

Проблема возникает на последней странице корзины покупок на моем сайте, которая загружается по протоколу SSL. Проблема заключается в том, что Internet Explorer 8.0 (включая версию 8.0.6001.18702 и другие версии IE8, но, как сообщается, не все версии IE8) жалуется по крайней мере на одну незащищенную загрузку элемента, которая отпугивает некоторых из моих потенциальных клиентов. IE8 отображает диалоговое окно после полной загрузки страницы (без пропущенных изображений), которое гласит:

  

"Предупреждение о безопасности. Хотите просматривать только содержимое веб-страницы, которое было      доставлено надежно? Эта веб-страница содержит контент, который не будет доставлен      использование безопасного соединения HTTPS, которое может поставить под угрозу безопасность      вся веб-страница. (ДА /НЕТ) "

Я пытался отследить все недействительные изображения и ссылки, которые могут загружаться через HTTP, но безрезультатно. Firebug Lite не показывает ничего небезопасного. Я начинаю думать, что это может быть ошибка в IE8, которая была исправлена ​​в IE9, которая не жалуется.

ВОСПРОИЗВЕДИТЬ ЭТУ ОШИБКУ : Нажмите здесь, используя IE8 (или Chrome) , чтобы добавить товар в корзину. На появившейся странице нажмите ЗЕЛЕНУЮ кнопку справа, которая гласит: «Перейдите к Безопасной проверке». Вы заметите, что видите вышеупомянутое «Предупреждение безопасности» от IE8.

ВОПРОС . Как определить, что браузер пытается загрузить небезопасно, или как отключить сообщение «Предупреждение»?

ОБНОВЛЕНИЕ . Похоже, что «Предупреждение безопасности» связано с приостановленным выполнением JavaScript на этой странице. Но тот же вопрос все еще остается. Как отключить или «отладить» сообщение «Предупреждение системы безопасности»?

7 голосов | спросил Empire Man 31 J000000Sunday11 2011, 04:14:57

6 ответов


0

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

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

РЕДАКТИРОВАТЬ: Я следовал приведенным инструкциям, чтобы спровоцировать проблему, но у меня не было проблем с любыми предупреждениями безопасности в IE8. Также Fiddler показывает, что все ресурсы загружаются через SSL.

ответил brezanac 31 J000000Sunday11 2011, 16:16:57
0

Я знаю, что это старая публикация, но поскольку не было опубликовано ответа, который бы исправил мою похожую ситуацию, я подумал, что поделился тем, что нашел, на случай, если кто-нибудь еще наткнется на эту страницу. Если вы используете removeChild() для удаления элемента HTML, который содержит встроенный стиль, устанавливающий фоновое изображение, предупреждение появляется в более старых версиях IE8. Вы можете избавиться от предупреждения, переместив встроенный стиль, задающий фоновое изображение, в класс стилей, заданный в заголовке HTML или во внешней таблице стилей.

См. эту страницу Microsoft KB , в которой говорится, что сбой возникает только в IE6 и IE7, но это случилось со мной на IE8 на XP тоже, и то же самое исправление сработало.

ответил Jon 1 FebruaryEurope/MoscowbFri, 01 Feb 2013 18:20:45 +0400000000pmFri, 01 Feb 2013 18:20:45 +040013 2013, 18:20:45
0

В прошлом я сталкивался с подобной проблемой в IE8, и, похоже, это была проблема с кэшированными элементами. Я не смог полностью определить это, потому что, как и вы, я проверил все ресурсы и не нашел ничего, что не загружалось через SSL. Однако я заметил, что если я запретил все операции кэширования и заставил IE загрузить все ресурсы с сервера, предупреждение исчезло.

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

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

ответил Josh Anderson 31 J000000Sunday11 2011, 18:11:01
0

Нажмите оформить заказ вверху страницы?

Больше не в https?

ответил Anthony Sottile 31 J000000Sunday11 2011, 06:11:22
0

Если у вас есть страницы с поддержкой SSL, то все ресурсы (js, css, images) также должны обслуживаться по протоколу HTTPS. Такое же поведение для 90% браузеров

ответил Anatoly 31 J000000Sunday11 2011, 06:19:45
0

Как сказал Джон:

  

Если вы используете removeChild() для удаления элемента HTML, который содержит встроенный стиль, задающий фоновое изображение, предупреждение появляется в более старых версиях IE8. Вы можете избавиться от предупреждения, переместив встроенный стиль, задающий фоновое изображение, в класс стилей, заданный в заголовке HTML или во внешней таблице стилей.

Хотя страница Microsoft KB действительно предоставляет исправление, лучшее решение состоит в том, чтобы реализовать следует (поместите в сценарий внизу вашей страницы):

Ext.removeNode = Ext.isIE ? function(){
    return function(n){
        if(n && n.tagName != 'BODY'){
            n.outerHTML = "";
        }
    }
}() : function(n){
    if(n && n.parentNode && n.tagName != 'BODY'){
        n.parentNode.removeChild(n);
    }
}
ответил Sorry-Im-a-N00b 11 ThuEurope/Moscow2014-12-11T19:28:38+03:00Europe/Moscow12bEurope/MoscowThu, 11 Dec 2014 19:28:38 +0300 2014, 19:28:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132