Почему IE не может разрешить странице входить с использованием фреймов (нескольких доменов)? - PullRequest
0 голосов
/ 27 августа 2010

Я думаю, что, возможно, знаю ответ на этот вопрос, но на самом деле я ищу неопровержимые доказательства / ссылку на заявление Microsoft о том, почему это происходит.

У меня есть доменное имя "www.mycompany.com", которое является HTTP. Эта страница содержит только HTML-код с iFrame, перенаправляющим на «application.anothercompany.com», то есть HTTPS. Страница, которая находится на «application.anothercompany.com», содержит только поле имени пользователя и пароля на странице, а также кнопку входа в систему.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="">
<meta name="ROBOTS" content="ALL">
<meta name="description" content="">
<meta name="keywords" content="">
<title>My Company Name</title>

</head>
<frameset cols="100%,*">
<frame frameborder="0" src="https://application.anothercompany.com/" >
<noframes>
<body>
Frames not supported.
</body>
</noframes>
</frameset>
</html>

При переходе к "https://application.anothercompany.com", я могу успешно войти в любой браузер.

При посещении "http://www.mycompany.com", я не могу войти на другой сайт, представленный в iFrame с помощью Internet Explorer. Однако я могу сделать это с Safari и Firefox.

Для меня, я бы сказал, это особенность Internet Explorer - предотвращать фишинговые атаки - насколько пользователь знает, что он вводит информацию в «http://www.mycompany.com", not» https://application.anothercompany.com". Если это защита особенность, тогда хорошо - я могу жить с этим.

Это все звучит правильно - или есть обходной путь?

Чтобы добавить немного больше информации, я попытался добавить «www.mycompany.com» на доверенные сайты в браузере, это не устранило проблему, и отключение «Защищенного режима» в Internet Explorer также не смогло исправить выпуск.

Кажется, проблема возникает в IE, IE7 и IE8.

Я обнаружил, что вы можете быть немного дерзким с Internet Explorer, открыв новую вкладку, перейдя на "https://application.anothercompany.com" и войдя в систему, а затем вернувшись на" http://www.mycompany.com" сайт, который вы можете тогда успешно войдите! Хотя закрытие и перезапуск IE сбрасывает все это.

Спасибо Stu

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

Это называется междоменным запросом или XDR.По умолчанию он заблокирован в IE7.

Вот документация MS по этой функции: http://msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx#xdomain

А вот немного (хорошей) документации Yahoo по этому вопросу в отношении JavaScript:1006 *http://developer.yahoo.com/javascript/howto-proxy.html

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

0 голосов
/ 27 августа 2010

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

Поскольку одна страница находится на HTTP, а другая на HTTPS, ваши пользователи, вероятно, получатДиалог предупреждения безопасности «Смешанный контент».(siderant: , в котором кнопки по умолчанию переключаются между версиями IE )

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