2010-03-01 62 views
3

我的用户界面原型需要我一直显示网站登录信息。我应该显示通常的用户名和密码文本框或“您已登录”。最后一点不必是安全的,因为它只是对用户的信息,没有任何我会使用服务器端。但是第一部分应该安全地发送到服务器。SSL登录iFrame

看来,我将不得不为网站上的所有网页使用https。我只想使用ssl来处理需要安全的事情。

一种方法是将登录信息放入https://../login.aspx,并将其作为IFrame显示在我的主页上。

我可以看到的一个缺点是用户不知道https正在被使用,除非他们读取源代码中的IFrame src。

您认为如何?

+0

什么是反对安全地做到这一切?无论如何,你将不得不做SSL协商。 – 2010-03-01 18:03:26

+1

例如,对于网站的其他部分,将启用缓存,但不使用ssl – Karsten 2010-03-02 13:50:28

回答

0

您是使用内置的asp.net登录控件还是仅使用两个文本框控件?

您可以使用自己的表单标签(不是runat =“server”),将action属性设置为“https:// ...”,只需使用两个html输入标签和一个按钮即可登录。

再次,这不会显示用户登录时凭据是安全的。

由于最近发现的一些SSL攻击,最好还是将登录表单放在https://页面上。否则,被黑客可以拦截http流并将表单操作从“https:// ...”更改为“http:// ...”,然后嗅探凭据。

0

另一种选择是利用Button控件的PostBackUrl property

您需要创建自己的登录LayoutTemplate才能利用此功能。然后,您可以将安全方案添加到当前页面URL,并将提交按钮的PostBackUrl属性设置为该方案。

这将有一个类似的问题,你的iFrame解决方案(用户不会看到挂锁符号),但你会有好处,你不会使用iFrames。

使用iframe的另一个问题是影响他们可以在页面上:

  • 他们是一个单独的请求,但可引起对JavaScript的pageLoad的事件触发块。
  • 登录表单只会在iFrame内回发,因此您需要在用户成功登录时刷新父页以将其删除。
    • 此外到,错误将在iFrame中返回,大概不会离开你太多的空间用于显示形式以及等
0

你打的主要问题。您需要登录,该登录需要在每个页面上使用SSL,但您不希望整个页面都是SSL。

这是一个比其他任何事情都更重要的商业决策。您希望您的客户在访问您的网站时感到更安全吗?还是您希望每个屏幕上都显示登录信息?

如果你需要兼得,你可能还需要考虑让你的整个网站SSL。