密码更改:最佳实践

Ton*_*ony 5 database security authentication web-applications

我正在编写 Baby 的第一个 Web 应用程序。我的第一个任务是建立一个身份验证系统,我认为我做得很好。不过,我对整个事情都很陌生,所以:

当用户报告他忘记了密码时,我会通过电子邮件以纯文本形式向他发送临时替换密码。这也许不是处理这种情况最安全的方法,但这是我目前的做法。我确实强迫他在下次登录时更改它,我使用的技术是在数据库中携带一个“必须更改”字段,对于已发送电子邮件的用户设置为 true。

我的问题:在这种情况下,单独的数据库列是最好的策略吗?或者我可以做更好的事情吗?

Joh*_*ica 4

单独的专栏是相当合理的。

操作系统通常有一个“密码过期时间戳”字段,只需将时间戳设置为 0(又名 1970 年 1 月 1 日)即可兼作“下次登录时必须更改”标志。网站通常没有密码到期日期,在这种情况下,一个简单的布尔标志就足够了。