我为我的应用程序编写了一个安全层,我希望您能就更新用户的电子邮件地址(也用于登录)提供意见。
我很想听听任何写过类似要求的应用程序的人的来信。你会怎么做?以下是我想到的一些方法,但我怀疑我遗漏了一些东西:
方法一
- 更新地址并向新地址发送确认电子邮件
- 如果地址未在 48 小时内确认,请暂停
- 这简单。
- 如果新地址错误,用户将被锁定在帐户之外。
- 有人可以通过更改用户地址来劫持帐户。
方法二
- 更新地址并临时存储旧值
- 向旧地址发送一封通知电子邮件,其中包含撤销更改的选项
- 向新地址发送确认电子邮件
- 如果用户撤销更改,我将恢复旧地址(通过通知电子邮件)
如果更改没有被撤销,但新地址在 48 小时内没有得到确认,我将暂停帐户。
- 安全的
- 还有很多工作
方法三
- 不要更新地址而是临时存储新值
- 向旧地址发送一封确认电子邮件,要求确认更改。
- 如果确认更改,请执行更新并向新地址发送确认电子邮件。
如果新地址未在 48 小时内确认,则暂停该帐户。
- 安全的
- 还有很多工作
最好是尽可能安全,但我不想让用户仅仅为了更改电子邮件地址而让他们做 1001 件事情。
他们可能还有辅助电子邮件地址,不用于登录,而是用于其他目的,我不确定如何处理这些地址的更新。欢迎提出想法。