SSL Login in iFrame
我的UI原型要求我一直显示网站的登录信息。我要么显示通常的用户名和密码文本框,要么显示"您以"身份登录"。最后一点不一定是安全的,因为这只是给用户的信息,我不会在服务器端使用任何东西。但是第一部分应该将安全性发送到服务器。
看来,那时我将不得不对网站上的所有页面使用https。我只想将ssl用于确保安全的事物。
一种方法是将登录信息放入https://../login.aspx中,并以IFrame的形式显示在我的主页上。
我可以看到的一个缺点是,除非用户读取源代码中的IFrame src,否则用户将不知道正在使用https。
您怎么看?
您是使用内置的asp.net登录控件还是仅使用两个文本框控件?
您可以使用动作属性设置为" https:// ..."的自己的表单标签(而非runat =" server"),只需使用两个html输入标签和一个按钮即可登录。
同样,这不会向用户显示登录时凭据是安全的。
由于最近发现了一些SSL攻击,因此最好将登录表单也放在https://页面上。否则,黑客可以拦截http流并将您的表单操作从" https:// ..."更改为" http:// ...",然后嗅探凭据。
您遇到了主要问题。您需要登录,登录必须在每个页面上才能使用SSL,但是您不希望整个页面都使用SSL。
在这一点上,这比其他任何事情都更重要。您想让客户对访问您的网站感到更安全,还是希望每个屏幕上都显示登录信息?
如果同时需要两者,则可能还需要考虑使整个站点都具有SSL。
另一个选择是利用Button控件的
您需要创建自己的登录名
这将与您的iFrame解决方案存在类似的问题(用户将看不到挂锁符号),但是您将拥有不使用iFrame的优势。
使用iFrame的另一个问题是它们可能在页面上产生的影响:
- 它们是一个单独的请求,但会导致JavaScript PageLoad事件触发时发生阻塞。
-
登录表单只会在iFrame中回发,因此,当用户成功登录后,您需要刷新父页面才能将其删除。
- 除此之外,iFrame中还会返回错误,可能也不会给您留出足够的空间来显示表单,等等。