Безопасный IFRAME вложен в незащищенную страницу - PullRequest
5 голосов
/ 09 сентября 2011

У меня есть клиент, которому по определенным причинам необходимо разместить IFRAME, указывающий на страницу HTTPS на странице HTTP.Страница HTTP размещена на другом домене и сервере, чем страница HTTPS, но обе они принадлежат одному и тому же клиенту.

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

Как видно на этой странице: http://www.clevelandutilities.com/obppay.htm на странице HTTP есть HTTPS IFRAME без каких-либо предупреждений из браузера (Firefox ИЛИ IE),Однако, если я попробую один и тот же метод, и Firefox, и IE пожалуются на сертификат.

Есть идеи, почему это так?Я изучил источник на этом образце и не вижу ничего особенного, но если я попробую то же самое, то получу вопль.Кроме того, если я поставлю домен, который они используют (https://www.paybill.com/cu/),, он не будет жаловаться - если я поставлю наш домен, он будет жаловаться. Все ли сертификаты SSL созданы равными?

Для упрощения это работает без предупреждений:

<iframe src="https://www.paybill.com/cu/" width="100%" height="600" scrolling="auto"></iframe>  

это не так:

<iframe src="https://www.myclientdomain.com/somepage.php" width="100%" height="600" scrolling="auto"></iframe>

Кроме того, мы используем приложение Facebook в стиле IFRAME для передачи вна эту же страницу HTTPS, и это работает без претензий к сертификату SSL. Ха?!

1 Ответ

6 голосов
/ 09 сентября 2011

Немного покопавшись, мы обнаружили, что сертификат относится только к www .myclientdomain.com, и ответственный разработчик использовал ...src="https://myclientdomain.com"... в IFRAME.Это приводило к появлению следующего экрана ошибки «Соединение ненадежное»:

Untrusted error screenshot

Обычная практика для домена хоста - никогда не использовать «www» в URL-адресе (поддерживается с помощью .htaccess), тогда как стандарт для исходного домена (тот, который имеет сертификат) - всегда использовать его (применяется с .htaccess).Это то, что заставляет другого разработчика отказаться от этого - это то, к чему он привык для своего сайта.

Если один раз нажать «Я понимаю риски» для исходного домена и добавить исключение сертификата, любое посещениепосле этого он добрался бы до htaccess и был бы перенаправлен на www-, поэтому на моем (и другом компьютере-разработчике) страница нормально загружалась и проверялась нормально в Firebug, пока наш босс получал предупреждение.Мы оба (по-видимому) добавили исключение по той или иной причине в прошлом.

Когда мы соединили это, это был настоящий лицевой момент.Спасибо всем, кто задумался над этим вопросом, извините, что не проверил детали достаточно тщательно.:)

...