现代 Web 应用程序中密码检索的有效技术 [英] Effective Techniques for Password Retrieval in Modern Web Applications

查看:16
本文介绍了现代 Web 应用程序中密码检索的有效技术的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们一直致力于网络应用程序,我们需要在其中实现密码检索的传统网络应用程序功能.根据趋势,有以下方法:..

We've been working on web application where in we need to implement traditional web-apps functionality of password retrieval. According to the trends there are approaches like..

  1. 将密码重置链接发送到用户的电子邮件.
  2. 向用户询问密码恢复的秘密问题.
  3. 重置现有密码并创建新密码并将其发送给用户.这也可能会强制用户在下次登录时更改密码.

我们有实现密码检索机制的非传统技术吗?您为此尝试了哪些其他方法?

Do we have any non-traditional technique for implementing password retrieval mechanism ? What other approaches you've tried for this ?

谢谢.

推荐答案

这取决于您的目标安全级别、支持成本和可用性问题.

It depends on the the level of security you are aiming for, support costs and usability concerns.

通过电子邮件发送密码重置链接是首选方法,原因有很多:

Emailing a password reset link is the preferred approach for a number of reasons:

  • 支持成本 - 从业务角度来看,这是最大的因素.用户甚至经常忘记他们的密码提示或使用虚假的邮寄地址或忘记他们的用户名.所有这些都是您可能会收到支持请求的合理问题.这反过来又产生了另一个问题,您必须通过询问用户最近的帐户活动和不活动来确定用户的合法性.如果您不提供这种级别的支持,许多新手用户会感到失望.通过电子邮件发送密码重置链接可以缓解这些问题,因为用户通常有一个或两个电子邮件地址,他们可以通过提供电子邮件地址轻松恢复用户名/密码.

  • Support Costs - This is the biggest factor from a business perspective. Users often forget even their password hints or use a fake mailing address or forget their user name. All of these are legitimate concerns for which you might get support requests. This in turn creates another issue, you have to establish the legitimacy of the user by asking them about recent account activity and what not. If you don't provide that level of support a lot of novice users will be disappointed. Emailing a password reset link mitigates these concerns because the users typically have one or two email addresses and they can easily recover their username/password by providing their email address.

安全问题 - 从技术角度来看,这是最大的因素.这里有您必须权衡的各种问题.被盗用的电子邮件帐户意味着黑客可以访问所有用户的服务,这些服务允许通过电子邮件发送密码重置链接.您可以采取中间立场,即通过电子邮件将密码重置链接发送给用户,然后向用户询问密码提示问题,然后允许他们重置密码.同样,您永远不应该在任何媒体中公开用户的密码.事实上,如果你有能力向他们展示他们的密码,你的系统就已经不安全了,因为这意味着你没有使用像 SHA-1 这样的安全哈希来存储它们,并且你公司的开发人员可以获取每个人的密码.

Security Concerns - This is the biggest factor from a technical perspective. There are various concerns here which you have to weigh. A compromised email account means the hacker can go to access all of the users' services which allow a password reset link to be emailed. You can settle for middle ground which is to email a password reset link to the user which in turn asks the user a password hint question after which it allows them to reset their password. Again, you should never expose the user's password in any medium. In fact, if you have the capability to show them their password your system is already insecure because it implies you are not storing them using a secure hash like SHA-1 and a developer in your company can get at everyone's password.

可用性 - 从用户的角度来看,这是最重要的因素.通过电子邮件发送密码重置链接需要用户去检查他们的电子邮件地址,这意味着完成任务的时间可能长达 2 分钟甚至 3 分钟.不过,我认为这没什么大不了的.大多数用户似乎并不介意这一点,因为他们觉得自己有错,这是最符合他们利益的安全措施.我只是根据个人经验进行假设,一般用户可能会有不同的感受.我会将安全性放在比用户体验更高的优先级,因为用户很少需要检索他们的密码(用户长时间未登录并忘记了密码;用户已将密码保存在浏览器中并重新安装并且其他一些边缘情况).

Usability - This is the biggest factor from the user perspective. Emailing a password reset link requires the user go and check their email address which can means the time to achieve the task can go up to 2 or even 3 minutes. However, I would think that this is not a big deal. Most users don't seem to mind this because they feel they are at fault and this is a security measure in their best interest. I am only hypothesizing from personal experience and users in general might feel differently. I would put security as a higher priority than the user experience because users will rarely if ever need to retrieve their passwords (user has not logged in for a long time and forgot his password; user had saved his password in the browser which was reinstalled and some other edge cases).

这篇关于现代 Web 应用程序中密码检索的有效技术的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆