2

我为一个 Web 应用程序编写了一个插件,它在登录表单中插入了一个“记住我”复选框。我的一位用户对注销后不记得他们表示惊讶!显然,已经注销的人应该保持注销状态,尽管有特定要求,我不会填写密码字段,因为这意味着以明文形式存储密码。

我的问题是,如果用户之前标记了“记住我”框,是否应该为登录表单预先填写电子邮件地址/用户名?
显然,如果在公共计算机上完成,这将有效地将他们的个人详细信息广播给使用该计算机的下一个陌生人,但用户无论如何都不应该在公共计算机上使用“记住我”选项。

这样做的安全考虑是什么?用户是否希望在注销后记住他们的某些详细信息?

编辑:在我看来,浏览器都具有记住表单值和登录详细信息的功能,这可能是不必要的。

4

3 回答 3

3

如果有人使用了“记住我”功能,您绝对不应该预先填写电子邮件/登录信息。请记住,此功能 - 通常也称为“让我保持登录” - 旨在跨会话保持登录状态。这是一项可用性功能,可让用户在每次访问该站点时免于重新进行身份验证。

不是在显式退出后保留登录凭据的任何部分的方法。是的,浏览器可以记住诸如登录名之类的表单字段值,但大多数安全指南明确建议禁用此功能(请参阅OWASP Top 10 for .NET 开发人员第 3 部分:损坏的身份验证和会话管理)。

在安全系统方面,我当然不认为有任何用户期望预先填充这些数据,因为绝大多数网站不以这种方式运行。如果在明确同意的情况下降低进入门槛是可以的,但当用户明确退出或结束他们的会话时,而不是当行为与他们的预期不一致时。

于 2011-07-31T21:02:33.813 回答
1

假设他们的电子邮件地址被用作他们的用户标识符,这是我期望并且经常从许多我不期望高安全级别的应用程序中看到的行为。

一个更安全的实现是存储一个加密的标识符,并且只在用户尝试登录时询问密码。这是我从持有我的金融网站的网站上看到和期望的行为。确保浏览器不记得密码字段对于此类站点很重要。

最好在复选框旁边放置一条关于不在公共计算机上使用“记住我”的警告。

于 2011-07-31T14:31:35.393 回答
1

“记住我”与“让我登录”不同。

许多银行网站即使在用户注销后也使用“记住我”来保存用户名(但不是会话)(ING Direct 和 Citizens Bank 就是几个例子)。出于安全目的,它们通常会隐藏部分名称。

为了让您的用户清楚了解,您可能希望将措辞更改为“保持登录”或类似的内容。

于 2011-07-31T21:30:10.607 回答