退出后是否应该存储电子邮件地址?

时间:2011-07-31 14:19:13

标签: security language-agnostic passwords remember-me

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

我的问题是,如果用户之前已经标记了“记住我”框,则应该为登录表单预先填写电子邮件地址/用户名吗? 显然,如果在公共计算机上进行,可以有效地将他们的个人信息广播给下一个使用该计算机的陌生人,但用户不应该在公共计算机上使用“记住我”选项。

这样做的安全考虑是什么?用户是否希望在退出后记住他们的一些细节?

编辑:我发现浏览器都有一个功能,无论如何都要记住表单值和登录详细信息,这可能是不必要的。

3 个答案:

答案 0 :(得分:3)

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

是的,浏览器可以记住表单字段值,例如登录名,但大多数安全指南明确建议禁用此功能(请参阅OWASP Top 10 for .NET developers part 3: Broken authentication and session management)。

就安全系统而言,我当然认为没有任何用户期望预先填充这些数据只是因为绝大多数网站都不以这种方式运作。如果在明确同意的情况下完成进入门槛是很好的,但是当用户专门注销或结束他们的会话而不是当行为与他们期望的行为不一致时,则不是这样。

答案 1 :(得分:1)

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

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

最好在复选框旁边的公共计算机上发出不使用“记住我”的警告。

答案 2 :(得分:1)

“记住我”与“让我登录”不是一回事。

许多银行网站使用“记住我”来保存用户名(但不是会话),即使在用户退出后也是如此(ING Direct和Citizens Bank就是一些例子)。出于安全考虑,他们通常隐藏部分名称。

为了让用户明白,您可能希望将措辞更改为“保持登录状态”或类似内容。