SSL-вход в iFrame

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

Кажется, тогда мне пришлось бы использовать https для всех страниц сайта. Я хотел бы использовать ssl только для вещей, которые необходимы для обеспечения безопасности.

Один из способов — поместить информацию для входа в https://../login.aspx и показать ее на моя главная страница как IFrame.

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

Что вы думаете?


person Karsten    schedule 01.03.2010    source источник
comment
Какие возражения против того, чтобы сделать все это безопасно? В любом случае вам придется провести согласование SSL.   -  person Tom Hawtin - tackline    schedule 01.03.2010
comment
Например, кеширование будет включено для остальной части сайта, который не использует ssl.   -  person Karsten    schedule 02.03.2010


Ответы (3)


Используете ли вы встроенные элементы управления входом asp.net или просто используете два элемента управления текстовым полем?

Вы можете использовать свой собственный тег формы (не runat="server") с атрибутом действия, установленным на "https://...", и просто использовать два тега ввода html и кнопку для входа в систему.

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

Из-за некоторых недавно обнаруженных SSL-атак всегда предпочтительнее размещать форму входа на странице https://. В противном случае взломанный может перехватить поток http и изменить действие вашей формы с «https://...» на «http://...», а затем перехватить учетные данные.

person Peter Hahndorf    schedule 21.03.2010

Другой вариант — воспользоваться PostBackUrl свойство элемента управления Button.

Вам потребуется создать собственный логин LayoutTemplate чтобы воспользоваться этим. Затем вы сможете добавить безопасную схему к URL-адресу текущей страницы и установить для нее свойство PostBackUrl кнопки отправки.

Это будет иметь те же проблемы, что и ваше решение iFrame (пользователь не увидит символы замка), однако у вас будет преимущество, заключающееся в том, что вы не будете использовать iFrame.

Еще одна проблема, связанная с использованием iFrame, — это влияние, которое они могут оказывать на страницу:

  • Это отдельный запрос, но он может вызвать блокировку запуска события JavaScript PageLoad.
  • The login form would only postback within the iFrame, so you'd need to refresh the parent page when the user is successfully logged in to remove it.
    • Additionally to that, errors would be returned in the iFrame, probably not leaving you much space for displaying the form as well, etc.
person Zhaph - Ben Duguid    schedule 01.03.2010

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

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

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

person AaronS    schedule 01.03.2010