PHP 如何实现验证码每个手机每天发送次数的限制

我接入了阿里云的短信,请问如何限制每个手机每天对验证码接收次数的限制呢?

慕娘9325324
浏览 1198回答 6
6回答

莫回无

短信查询API(QuerySendDetails)---PHP 查看改手机号对应日期接受了多少条短信

心有法竹

memcached/redis/数据库都能做到 根据手机号构造一个key,如手机号码-send-今天日期 发送之前读取这个key的值,如果大于等于设定的值,接口直接报错返回 发送验证码 将该key的值+1

慕斯709654

写在redis里面

富国沪深

推荐使用redis记录每天发送的日志,统计每日每个手机号发送验证的次数,超过限制次数不发。记得定时清理这部分日志。 当然也可以使用mysql去做,只是redis会快很多。

动漫人物

使用缓存,redis为例,发送之前,比如你要限制每天发送次数, 写一个键为 手机号.日期 ,值为次数, 有效时间 24 小时, 的缓存 发送前验证检验 a.是否存在(配合当天日期) b.次数是否达到限制 符合条件发送, 让该缓存自增 要是你想复杂一点, 比如说: 10分钟内可以发5次,超过5次等待30分钟才能发送 写一个 手机号为键,值为次数的缓存,初始值为1, 10分钟的缓存 检测是否存在, 如果存在, 检测次数? 次数未达到最大值, 自增, 到了最大次数, 将缓存时间修改为30分钟
打开App,查看更多内容
随时随地看视频慕课网APP