web项目016-----避免频繁发送短信验证码

本文讨论如何避免用户频繁发送短信验证码,提出在Redis中设置send_flag进行校验,确保同一手机号60秒内只能发送一条。通过在图片验证码验证前进行判断,防止恶意尝试获取用户信息。同时,解决了一个图片验证码可以多次发送短信验证码的问题,确保每个图片验证码仅对应一条短信验证码。
摘要由CSDN通过智能技术生成

避免频繁发送短信验证码

接着上一章,我们现在可以正常的发送短信验证码了,但是我们现在是不是可以一直发送啊,这就很不合理

虽然前端做了60秒的倒计时功能,但是我们使用postman等软件还是可以绕过前端这个60秒倒计时去发送短信的

所以我们应该做一个验证,同一个手机号60秒只能发送一条

image.png

我们需要在redis中存入一个send_flag的值来进行校验

我们在用户填写的图片验证码之后进行判断

# 判断手机号的操作
    try:
        send_flag = redis_store.get('send_sms_code_%s' % mobile)
    except Exception as e:
        logging.error(e)
    else:
        if send_flag is not None:
            return jsonify(errno=RET.REQERR,errmsg='请求过于频繁')

为什么放在这里,因为如果放在下面比如说放到--判断手机号是否注册这里,别人就可以不停的疯狂访问来尝试,然后获取我们用户的信息,这样就不太好,所以我们放在前面一点,还没有设计到业务信息的地方

现在我们继续查找可能会出现的问题,或者一些不可理的地方,未雨绸缪

我们按理来说应该是一个图片验证码,只能发送一次短信验证码

那么我们的代码写到现在&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值