2012-09-28 105 views
1

我有一个客户端程序正在建设中,我有一个系统最初通过发送哈希来验证他们的电子邮件,如果他们发送正确的哈希,他们会进入。我想要做的是让用户能够更新他们的电子邮件到一个新的电子邮件地址,我想知道什么是最好的方式来做到这一点。新的电子邮件验证/无法访问旧的电子邮件帐户

我曾想过做的是:

用户完成表单变更电子邮件,一个条目变成与新的电子邮件地址数据库,并创建一个哈希(W /超时),并将它们与电子邮件哈希到旧的电子邮件地址。

但是,这导致我如何处理无法访问其旧电子邮件地址的用户。我应该让管理员手动更新他们的电子邮件地址,方法是向管理员发送一封电子邮件,其中包含一个'无法访问您的旧电子邮件地址'复选框,其中有一个区域供用户为管理员添加消息。然后管理员为该用户发送一封包含散列的电子邮件。

或者是否有其他方式可以完成此任务。

编辑:我认为最好在数据库中添加一个'whats your favorite __'问题W /答案来处理某些情况。

+0

关于您的编辑和您的评论,我的回答如下:如果帐户被黑客入侵,黑客在更改密码之前更改了该问题,您该怎么办?获得一个好的认证系统并坚持下去。 – jeroen

+0

对不起,我对这个网站有点新。反正大多数地方你只能回答一次,你必须记住/写下来。 – Class

+0

我不知道任何网站,你不能改变一切,除了你的用户名。您可以尝试当然... – jeroen

回答

0

你为什么要发送消息到旧地址?

很明显,您需要跟踪两个地址,直到确认新的地址,但是如果用户通过了身份验证,则只需将更改邮件消息发送到新地址即可。

+0

如果有人劫持了他们的帐户,然后他们可以更改他们的电子邮件地址,而无需通知他们批准/执行此操作的旧电子邮件,该怎么办?就像我见过的大多数地方一样(我认为)。 – Class

+0

@Class确实,但你有一个认证机制,所以如果用户想改变他/她的电子邮件地址,你应该能够依靠该认证机制。如果用户帐户遭到黑客入侵,并且试图捕捉一些可能的情况只会导致错误的安全感,则无法涵盖所有​​情况。 – jeroen

+0

如何在这种情况下(和其他人一起)注册并使用它时,会发生什么样的问题呢? – Class