Alternative way to reset password
我想让用户重置密码,以防他/她忘记了自己的密码,而不发送重置代码到他/她的邮箱。其实我不想用电邮重置密码系统。
是否有任何方法可以让用户在不使用电子邮件的情况下重新设置密码?
"安全问题"是否安全?或者什么是安全的?
- 您可以向他的邮件发送一个新的随机密码,并管理一个表单以在身份验证后更改密码。我个人不喜欢安全问题,但如果你是说你根本不想使用邮件,你必须有一个明确的方法来识别用户,如电话号码。
- 我喜欢,但我的Web服务器不支持mail()函数。
secure question的安全性将取决于问题本身的难度。如果您不想使用mail()功能,可以尝试以下任一方法:
你可以给他的注册电话号码发送一个OTP。
您可以使用一个以上的安全问题来识别用户,然后允许他重置密码。但要确保问题的标准是高的。
例如,避免容易的问题,如name of your first school、name 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()功能。
安全性可以通过
- 移动设备上的OTP。
- 要求用户验证其个人信息,如:电子邮件地址,姓,出生日期,社会保险号的最后4位数字。等。。
- 两层复位。将两个不同的代码发送到(主要和次要/邮件和移动)并验证这两个代码。
如果您有用户注册的手机号码。在允许用户重置密码之前,可以使用一次性密码验证用户身份。