关于手机短信校验码时效性

最近做微信公众号 关于注册时要校验手机号码是不是真实的 然后第三方平台发送一个校验码来对比 我不知道这个校验码到底应该存储在数据量 还是存到session 中 请教各位给点建议以及怎样做的原因

阅读 14.2k
4 个回答

这个校验码保存在 Session 中不太好。

如果客户在请求验证码之后就关闭微信干其它事去了,收到验证码的时候重新打开微信,现在不能保证微信进程没被手机系统杀掉,如果是杀掉了,重启的进程,那再进来这个页面肯定不是同一个 Session 了。

所以还是保存在数据库中吧,或者用第三方缓存服务。

可以考虑用redis,简单方便
redis的数据保存在内存中,读写很快
可以设置过期时间,到点自动清除,不需你在去操作
我现在的项目就用的redis

文档可以访问:http://redisdoc.com/

从安全上讲 存session要求发请求的和输入验证码的是同一个人 相对更稳妥 不然把用户的输入去跟哪条记录对比呢?

存session啊,session消失就失效,不用搞redis那么复杂

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题