重置密码的替代方法

Alternative way to reset password

我想让用户在 he/she 忘记 his/her 密码的情况下重置密码,而无需将重置代码发送到 his/her 邮箱。其实我不想用邮件重设密码系统。

有没有什么方法可以让用户在不使用电子邮件的情况下以安全的方式重置 his/her 密码?

'security question'使用安全吗? 或者什么可以安全使用?

如果您有用户注册手机号码。您可以使用一次性密码验证用户身份,然后再让他重设密码。

secure question 的安全性将取决于问题本身的难度。如果您不想使用 mail() 函数,那么您可以尝试以下任一方法:

  1. 您可以将 OTP 发送到他注册的 phone 号码。

  2. 您可以使用 1 个以上的安全问题来识别用户,然后允许他重设密码。但是一定要保证题的水平高

    例如,避免像 name of your first schoolname of the birthplace 等简单的问题。这些问题很容易被用户附近的任何其他人回答。 尝试诸如 What is the name of the city where you got lost?What is the name of the teacher who gave you your first A? 等问题

这样既安全又能帮助您避免 mail() 函数。

可以通过

提高安全性
  • 手机一次性密码。
  • 要求用户验证他们的个人信息,例如: 电子邮件地址, 姓, 出生日期, 社会安全号码的最后 4 位数字。等..
  • 两层重置。发送两个不同的代码到(主要和 secondary/mail 和移动)并验证它们。