为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 手机短信验证码问题求指教

PHP 手机短信验证码问题求指教

PHP
LEATH 2019-03-18 15:29:09
目前实现发送验证码到指定手机号码了,现在的问题是如何进行验证码的校验,是将发送结果存储到数据库里面吗?我用的是阿里大鱼···不知道能否获得发送的内容呢? 用户在网页界面上输入验证码后,会有一个验证过程···菜鸟求助,发送的验证码大家怎么保存的呀?以为发送后还有一次验证···
查看完整描述

8 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

一般存session就好了
好点的呢就存到redis里面, 有效期好控制

查看完整回答
反对 回复 2019-03-18
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

思路就是:

  1. 生成验证码(最简单就是用个随机数)
  2. 将验证码存入数据库表中,注意一定要有过期时间
  3. 将验证码和文案按照预定的格式组装好
  4. 调用发送短信接口发送短信进行发送
  5. 用户收到短信,根据验证码到对应使用处进行验证
  6. 后端接口拿到发送过来的验证码和数据库中的有效验证码进行验证,符合通过,否则不通过。
查看完整回答
反对 回复 2019-03-18
?
湖上湖

TA贡献2003条经验 获得超2个赞

你生成的验证码是要存起来的,然后用户收到后输入,你接受用户输入的验证码和你之前保存的验证码对比,一样就通过,不一样就报验证码错误

查看完整回答
反对 回复 2019-03-18
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

保险的话就数据库和缓存都存一遍,这样两边都有记录,方便核对

查看完整回答
反对 回复 2019-03-18
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

1,自己生成6位的短信验证码,生成一个rediskey,保存这个短信验证码,并给个有效时间,这时也把rediskey告诉客户端;
2,调用短信服务商api发送短信,
3,客户端提交时,post携带rediskey,输入的短信验证码,后台根据rediskey调出redis存储的短信验证码与输入的验证码比对,通过,删除这个rediskey。

查看完整回答
反对 回复 2019-03-18
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

直接将值传给服务器进行校验,这样可以防止攻击呀

查看完整回答
反对 回复 2019-03-18
?
largeQ

TA贡献2039条经验 获得超7个赞

可以存缓存里

查看完整回答
反对 回复 2019-03-18
  • 8 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信