我的UI原型要求我一直显示网站登录信息。要么我应该显示通常的用户名和密码文本框或“你登录为”。最后一点不必是安全的,因为它只是用户的信息,我将使用服务器端。但第一部分应该向服务器发送安全。
似乎我必须对网站上的所有网页使用https。我想只使用ssl来确保安全性。
一种方法是将登录信息放入https://../login.aspx并将其作为IFrame显示在我的主页上。
我可以看到的一个缺点是用户不会知道正在使用https,除非他们在源代码中读取IFrame src。
您怎么看?
答案 0 :(得分:0)
另一种选择是利用Button控件的PostBackUrl
property。
您需要创建自己的登录LayoutTemplate
才能利用此功能。然后,您就可以将安全方案添加到当前页面URL,并将提交按钮的PostBackUrl属性设置为该属性。
这会对您的iFrame解决方案产生类似的问题(用户不会看到挂锁符号),但是您将拥有不使用iFrame的优势。
使用iFrame的另一个问题是它们可能对页面产生的影响:
答案 1 :(得分:0)
你遇到了重大问题。您希望登录需要在每个页面上使用SSL,但您不希望整个页面都是SSL。
此时此更多是商业决策。您是希望您的客户对访问您的网站感到更安全,还是希望每个屏幕上都显示登录信息?
如果您需要同时使用这两者,您可能还需要考虑使整个网站成为SSL。
答案 2 :(得分:0)
您使用的是内置的asp.net登录控件,还是仅使用两个文本框控件?
您可以使用自己的表单标记(不是runat =“server”),将action属性设置为“https:// ...”,只需使用两个html输入标记和一个按钮即可登录。
同样,这不会向用户显示登录时凭据是否安全。
由于最近发现了一些SSL攻击,因此最好还将登录表单放在https://页面上。否则,被黑客攻击可以拦截http流并将表单操作从“https:// ...”更改为“http:// ...”,然后嗅探凭据。