电子邮件用户新链接创建密码



对于密码恢复,我的vb.net应用程序发送电子邮件给用户,其中包含以下格式的链接。

http://<password-reset page url>?id=<userid>&tpr=<times Password Reset>&time=<time when the link was generated>

Times Password Reset是用户使用密码重置链接重置密码的次数。它在数据库中的值与查询字符串中的值匹配。为保证同一个密码重置链路不能被重复使用。Time用于检查链路使用时间不超过24小时。userid用于标识用户。

如果所有条件都符合,则提示用户修改密码。

我想知道这个方法是否安全?

快速回答:否

忘记URL中使用的所有参数。只需生成一个随机的、不可猜测的字符串(例如UUID),并将其作为参数放在URL中。然后通过您为用户存储的电子邮件地址将该URL发送给用户。现在将UUID与URL中的所有参数一起存储在数据库中。当用户单击链接时,验证所有参数(时间戳等)并让他设置新密码。

最新更新