2012-01-13 107 views
2

我目前正在为我的网站管理页面,现在我已经达到了一个点,我开始看如何用户可以检索或被给予密码,如果他们忘记了原版的。忘记密码在webapp

我没有必须处理这样的事情,我不确定使用哪种解决方案,因为似乎有很多方法可以解决这个问题。所以我想我会问更多经验丰富的开发人员。什么是最好的方法来处理'密码检索'

如果有帮助,当用户最初注册时,他们必须提供一个电子邮件地址和密码,然后用salt加密。

+2

不提供将用户密码发送给他们的方法。上述功能的任何实现都不安全。这意味着你用来保护密码的方法是无用的。您应允许他们使用的唯一方法是在他们提供了他们提供的其他一些信息之后重置其密码。除非你使用加密算法,否则你所需要的甚至是不可能的,因为不能逆转算法。如果您正在使用加密算法。 – 2012-01-13 14:18:46

+0

有一个很好的答案,这在这里[1] [1]【在现代Web应用程序取回密码有效的技术]:http://stackoverflow.com/questions/910856/effective-techniques-for- password-retrieval-in-modern-web-applications – RMcLeod 2012-01-13 14:26:35

+0

@IRHM:+1,对于一个很好的问题,也帮助我学习新的东西。 Regards – 2012-01-17 17:29:15

回答

9

我宁愿让用户输入自己的电子邮件地址,然后:

一个。当用户提交请求并存储它时应该创建一个哈希值(它应该在一段时间后过期 - BloodyWorld)。

b。用户被发送一个带有该散列的链接。

c。他们点击应该转到网站安全页面的链接,验证其有效性,确保您保存的哈希符合链接中的链接,然后要求他们重新生成密码。

+2

我重新开始给这个哈希指定过期日期,例如请求1小时。 – Corubba 2012-01-13 14:28:03

+0

嗨,非常感谢您的回复,我当然喜欢这个想法。我不认为你知道我可以从事的任何教程吗? – IRHM 2012-01-13 14:35:14

+0

@IRHM - 我没有用过这个教程,所以不能推荐一个。但是,如果您将自己的想法分解为多个步骤,则应该可以Google为每个部分编写一些教程。 – webnoob 2012-01-13 14:38:16

2

那么,如果你哈希密码它不能被检索。您将不得不创建一个临时密码并将其发送给用户。让他们用临时密码登录,然后创建一个新密码。

+2

你应该哈希,而不是加密密码后腌它... – 2012-01-13 14:19:13

+0

非常感谢您花时间回复。对不起,我的错误,不正确的术语。我正在哈希密码。亲切的问候 – IRHM 2012-01-13 14:36:13

+0

我认为你是。别客气。祝你好运。 – Boundless 2012-01-13 14:53:39