php - 手机号码注册思路
PHP中文网
PHP中文网 2017-04-10 14:44:45
0
12
1098

最近在做网站手机号码注册,就是用户提交手机号码,服务端生成验证码发给用户手机,用户提交验证码比较,服务端生成的验证码应不应该存储在数据库里?还是有更好的办法,比如Session之类的。

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(12)
阿神

最好的方法是存在内存 设置过期时间60秒左右
可以使用memcache

左手右手慢动作

其实平常我们使用的手机验证功能已经很多了
点击短信验证,发送短信,倒计时开始,在倒计时期限里面,用户可能因为各种原因没有收到短信,提供一个重新发送短信的接口

可见短信验证码是不需要持久化存储的,这个东西放在内存中设定精确的过期时间是很好的解决方案,session的过期时间并不是严格的,比如设定60s,但是不一定会在60s的时候清除。redis,memcache都可以实现验证码内存存储自动过期功能。

在数据库里,只要一个字段,标识用户是否经过手机短信认证了

当然如果你的应用从一开始,不经过短信认证就无法,注册,这个标识字段就没有多大意义了

巴扎黑

建议还是存储在数据库,并且设定一个字段是是否验证。这样,可能更方便你去操作。

阿神

个人觉得点击发送验证码后,服务器端生成验证码和时间,存储在session里即可,提交后比对验证码和时间戳即可,即便是内在内在里也最好存储上时间,毕竟缓存时间不会太精确。

巴扎黑

建议保存数据库,可以做更多的事情,例如:

  1. 验证发送验证码次数
  2. 今日验证码错误次数
左手右手慢动作

短信接口是否提供真实的消息到达通知?
短信发送记录建议持久化保存.
1、避免短信轰炸 你懂的;
2、短信发送不是免费的吧。

Peter_Zhu

用REDIS吧,设置一个key的有效时间即可

刘奇

重点是短信服务商。。。。。。。40分钟。。才收到验证码的时候,你就呕血

小葫芦

ajax验证,放在缓存中,设置过期时间,缓存判断取code进行验证

小葫芦

验证码使用缓存,数据库中增加验证字段,设置个过期时间就可以,错误次数等都可以写在缓存里。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage