20

我正在使用Shibboleth开发一个单点登录登录页面,该页面将用于各种 Web 应用程序。显然,我们希望使该页面尽可能安全和可用,同时限制网络钓鱼诈骗的影响。

设计登录页面时要记住哪些最佳实践?

围绕这个问题提出的一些问题:

  • 登录页面在每个显示器上始终看起来都一样重要吗?
  • 反之,登录页面采用随机设计是否有益?
  • 登录页面与所有其他页面看起来一样更好,还是应该有自己独特的设计?
  • 如果登录页面有自己独特的设计,它是否应该包含您网站设计中的其他常量元素(例如全局导航)?
  • 登录页面是否适合为用户提供附加内容(例如最新消息)?
  • 是否应该包括任何额外的安全功能来帮助确保人们的安全?
4

12 回答 12

21

可用性说明:

我个人讨厌网站在密码字段和登录按钮之间放置“忘记密码”或“忘记用户名”或“帮助”链接。作为键盘用户,我不应该在它们上按 Tab 键来访问提交按钮。

更好的是,还捕获密码字段上的 Enter 按键,以便我可以使用 Enter 键自动提交。

于 2008-10-28T18:07:19.943 回答
7

在您的登录页面中保持相同的设计将让您的用户知道他们正在尝试登录您的页面,如果设计更改随机用户可能认为该网站已被移动,或者他们是钓鱼的受害者。所以我建议保持与您的内容页面相同的准则

于 2008-10-28T16:41:47.277 回答
6

无论您设计什么,网络钓鱼者都可以模仿它。完全防止网络钓鱼是一个难题。在用户登录之前,您基本上必须有一些方法来识别您的用户。一些银行现在就这样做了。您输入您的姓名,然后他们会向您显示您自己选择的图像,然后,一旦您确定它是相同的图像,您就输入您的密码。这可能比您的站点所需的复杂程度更高。

在技​​术方面,美国银行通过使用称为 PassMark 的 Flash 本地共享对象来实现这一点。您的浏览器会默默地将此数据发送回银行。如果您删除 LSO,您将不会看到您的图像,因为 BofA 无法识别您的身份。即使这样仍然容易受到中间人攻击。

于 2008-10-28T17:13:45.137 回答
5

在我访问的许多应用程序中,我仍然会看到另一件“不合时宜”的事情,如果指定的凭据无效,请不要指出哪个是无效的。只需说“无效的用户/密码组合”而不是“无效的密码”之类的话,这将阻止这些人通过社会工程了解访问您网站的用户群。

于 2008-10-28T16:46:12.010 回答
4

Smashing Magazine 对登录表单进行了相当完整的综述。 Web 表单设计模式:注册表单

于 2009-04-15T20:33:37.427 回答
3

包括应用级DOS预防

登录失败不具体。通用的“登录失败”而不是“未知用户名”。

使用验证码或其他图灵测试。

于 2008-10-28T16:49:11.877 回答
3

看起来很简单,但如果应用程序需要,请使用 HTTPS。哎呀,即使它不保证,因为人们倾向于重复使用相同的密码。这些天你可以便宜地获得 SSL 证书。如果他们从您的网站上提取密码,他们可以在其他地方尝试。甚至许多银行都没有安全线路上的登录页面。它发布到一个 HTTPS 页面,但仍然没有保护中间人类型的攻击。

我同意 Omniwombat。网络钓鱼是一个很难很好解决的问题,而且似乎不可能完全解决。

于 2008-10-28T17:56:25.707 回答
2

像用户和保安一样思考:如果你让他们每次登录都做验证码,他们会对此感到厌烦。

如果您试图阻止拒绝服务,那么可能只有在特定时间段内有足够的(失败?)登录尝试后才会出现验证码。

考虑使用 NTLM、OpenID 或 Shibboleth 使大多数用户的登录尽可能自动化。

不要让人们去一个单独的页面注册。大概您将拥有用户名和密码字段,以及一个登录/提交按钮。只需添加一个“注册为新用户”按钮,以便新用户可以使用现有的用户名/密码字段。如果您需要为新用户收集更多详细信息,请弹出一个表单(使用 DHTML,而不是弹出窗口)来收集它们。

于 2010-01-12T09:34:38.553 回答
1

在某些情况下有用的提示:您可以通过将 autocomplete="off" 添加到密码字段来禁用客户端密码保存。

这不适用于所有浏览器(如果我记得,IE 6+ 和 Firefox 3+)

于 2008-10-28T16:48:37.310 回答
1

到目前为止,我所见过的阻止网络钓鱼的最好方法是银行的登录界面。登录分 3 部分完成,首先用户输入他们的帐号(借记卡号、信用卡号...),第二步将随机列出用户指定的 3 个问题中的 1 个(例如:你上的是哪所高中对于 10 年级),最后一部分,如果前两个成功,则显示用户在注册时指定的图像和一些文本,密码字段如下。

于 2008-10-28T18:16:24.307 回答
0

意识到您的用户通常会在该页面上花费 10 秒,只要您的用户 ID 和密码的放置位置很明显,它看起来如何并不重要。除此之外,如果我忘记密码,请不要成为那些提供通过电子邮件向我发送密码的网站之一。至少让我相信它隐藏在一个很好的盐渍哈希中,你永远无法检索它。

于 2008-10-28T16:51:09.940 回答
0

@Joe Lencioni,以及其他对 Shibboleth 感兴趣的人

您的网站页面应该在每个页面上具有整体相同的外观和感觉。

关于 Shibboleth 和 SSO。请务必注意您的组织与哪个角色相关联。您是身份提供者 - IdP(对用户进行身份验证,然后将响应发送给 SP),还是服务提供者 - SP(将根据 IdP 发送的响应和属性授予身份验证。

如果您是 SP,您可以灵活地将用户链接到 IdP 以供他们登录。许多 SP 创建自己的 WAYF(您来自哪里)页面,该页面会将用户重定向到 IdP 的登录页面。

如果您是 IdP,您应该有一个用户看起来熟悉的登录页面,以便他们可以登录,然后使用 SP 授予正确访问所需的属性重定向到 SP。

就网络钓鱼诈骗而言,保持 Shibboleth 元数据最新非常重要。我相信许多联合会建议每 (1) 小时下载一次元数据。

许多 Shibboleth 问题可以在这里回答:https ://spaces.internet2.edu/display/SHIB2/Home

希望这可以帮助你。

于 2009-04-10T15:10:41.037 回答