2010-07-06 2 views
1

Я работаю над скриптом, чтобы автоматически подписывать вас на basecamp для проекта ... до сих пор я придумал следующее как что-то простое, просто форму, которую вы отправляете, какие сообщения к IFRAME:Отправка HTTPS над iframe в проблеме IE

<html> 
<head> 
<style> 
#bc1{ width: 100%; height: 350px; } 
</style> 
</head> 
<body> 

<iframe id="bc1" name="_bc1"></iframe> 

<form method="post" id="bcform" action="https://launchpad.37signals.com/session" target="_bc1"> 
<input name="authenticity_token" type="text" value="PyweDIeBkqaAOltDviI/nOADpyrESRDf77R2v7W/6tM=" /> 
<input id="product" name="product" type="text" value="basecamp" /><br/> 
<input autocapitalize="off" autocomplete="on" class="overlayable" id="username" name="username" title="Username" type="text" /> 
<input autocomplete="on" class="overlayable" id="password" name="password" title="Password" type="password" /> 
<input name="commit" type="submit" value="Sign In" /> 
</form> 

</body> 
</html> 

это работает во всех браузерах, кроме IE8 (и, предположительно, 7 и 6)

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

Кто-нибудь знает, почему это ломается в IE, но работает в других браузерах?

ответ

3

Если вы не используете начальную страницу через HTTPS, использование HTTPS внутри iframe не добавляет никакой безопасности, так как URI самого iframe может быть изменен злоумышленником, и пользователь не заметит его :

HTTP and HTTPS iframe

+0

на самом деле, он добавляет некоторую безопасность, поскольку учетные данные могут быть вывешен теперь вместо отправки через как часть строки запроса. Таким образом, используя iframe, вы, по крайней мере, запрещаете паролям открывать файл cleartext в журнале доступа к серверам. – Leven

+0

@Leven, используя POST или GET, не имеет никакого отношения к использованию iframe или нет. Конечно, использование пароля с GET часто бывает плохой идеей. – Bruno

+0

@Brunoa, в некоторых случаях. Представьте форму входа в систему, которая отображается на странице, размещенной на HTTP. Из-за политики того же происхождения вы не можете выполнить AJAX POST на HTTPS с этой страницы. GET по-прежнему возможен, хотя с использованием JSONP, но затем вы отправляете пароли в строке запроса. Использование iframe, загружаемого через HTTPS, однако возможно сделать POST над HTTPS, который, на мой взгляд, немного безопаснее. – Leven

Смежные вопросы