大家给一点思路,我在进行某操作时,发送验证码到邮箱验证,怎么判断验证码在几分钟之后失效不能再用 |
|
5分 |
两种做法:
1、短验证码:服务器端记录了该验证码及对应的时间戳; 2、长验证码:验证码中包含时间戳,以及,服务器给该验证码内容的签名摘要; |
5分 |
最简单的方法是:
你调用发送验证码方法的时候 set.nowTime发送时当前的时间 set.userid 验证码比较的时候 把nowTime 与当前时间比较一下 看是否在有效时间内 |
5分 |
发送验证码有个时间,从这个时间起记录,1分钟内,如没有验证,则过期。
|
5分 |
这个是正解 |
5分 |
是这样的 |
数据表中在生成验证码的时候保存一个 EXPIRE_TIME,然后使用:
SELECT * FROM EMAIL_VALIDATOR_CODE e WHERE e.TOKEN = :token AND e.EXPIRE_TIME < :now 如果能找到记录就 OK,否则就过期了。 |
|
5分 |
还有一个状态:
SELECT * FROM EMAIL_VALIDATOR_CODE e WHERE e.TOKEN = :token AND e.EXPIRE_TIME < :now AND e.STATUS = 0; 反正只要点过这个链接就将 STATUS 更新为 1,并记录更新时间,以及点击者源 IP 信息什么的。 |
5分 |
具体实现有很多方式,原理lz能够明白就好了。 |
5分 |
两种做法:
1、短验证码:服务器端记录了该验证码及对应的时间戳; 2、长验证码:验证码中包含时间戳,以及,服务器给该验证码内容的签名摘要; |
关键在于你能够记录下时间
|
|
感觉qq邮箱在发送激活邮件后他的系统会自动对链接进行访问(估计是验证链接安全性)所以你一点击他会说已经激活了
|
|
sorry 答错了 你可以将发送链接信息保存在数据库,访问链接时就会跳到指定的链接对应的方法中 再与系统时间匹配 |