我想生成忘记密码的标识符.我读过我可以通过使用带有mt_rand()的时间戳来做到这一点,但有些人说时间戳可能不是每次都是唯一的.所以我在这里有点困惑.我可以使用时间戳吗?
问题
生成自定义长度的随机/唯一标记的最佳做法是什么?
我知道这里有很多问题,但是在阅读了不同的人的不同意见后,我变得更加困惑.
我是一名初学者,正在研究PHP中的登录脚本.这是我到目前为止的表单令牌语句:
$_SESSION["form_token"] = md5(rand(time (), true)) ;
Run Code Online (Sandbox Code Playgroud)
该声明是在用户表明他/她想要登录之后发出的.
我有限的理解是,令牌的目的是在唯一的时间点识别唯一用户并伪装表单令牌信息.
然后一切都变得模糊.以下是我的3个未解决的问题:
何时是出于安全目的"检查"表单令牌的最佳时间?
我该如何检查?
什么时候,如果有的话,我"破坏"表单令牌?(IOW,在用户退出之前,表单令牌会保持"活动"状态吗?