后端怎样实现先验证手机号再注册?
需求:
- 用户填写手机号并接收验证码
- 使用验证码提交注册
在用户手机号通过验证并点提交注册后,往数据库用户表添加信息;不提交注册不往用户表添加信息。防止用户在注册时恶意修改手机号,比如使用
13333333333
获取验证码,然后把手机号修改为15555555555
提交注册
设想
我的设想是:
给用户发送验证码后,把手机号
验证码
过期时间
存放在一个临时表里,当用户点提交后,验证数据后再把数据插入用户表。但是这样有个问题,临时表需要定期清理,如果使用VPS还好解决,但如果是虚拟机并且主机商没提供任务计划功能就难办了。
不知道你是怎样解决的,给个方案,谢谢!
经考虑,采用缓存的方法。虽然用数据库可以很轻松的应付大量用户注册的情况,但是如果有那么大的注册量的话,也不有在乎这点内存了,做梦都会笑出声来~~~
回答:
写到缓存就行了,验证码有效期多久,缓存有效期就是多久
回答:
- 验证码一般都有时效啊,生成码验码时肯定会缓存对应的手机号嘛,
- 提交时要验证手机号、验证码相对应才算通过~
回答:
你说的完全可行,搞一个验证码发送日志表嘛,也不占多少空间
回答:
建议用缓存,手机号做key,验证码做value。设置好过期时间。
回答:
最简单的写个txt存一下就ok
回答:
一般来说验证码都是有时效性的,过期了就无法使用了。而且在发送验证码时至少需要记录验证码和手机号的关联关系,甚至还需要记录跟设备号等风控相关的参数,在提交验证码时进行二次校验,防止用户恶意使用验证码。
回答:
- 填写手机号
- 获取验证码(将验证码、手机、过期时间戳,写入数据库)
- 提交时,查询数据库验证手机、验证码、时间戳
- 限制重复获取验证码限制、间隔限制、次数限制
- 每次有新用户注册清理一次验证表(清理七天前或一个月前)
- 结构简单的验证表占用空间不大,即使上万条速度也非常快
以上是 后端怎样实现先验证手机号再注册? 的全部内容, 来源链接: utcz.com/a/165539.html