关于在表单里验证code是否正确,比较code值为什么是redis_code =r.get(str(mobile)) 而不是r.get(str(code))

来源:9-12 手机验证码动态登录 - 1

努力学习向上

2019-12-02

	mobile = self.data.get("mobile")
    code = self.data.get("code")

r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=0, charset="utf8", decode_responses=True)
    redis_code = r.get(str(mobile))
    # 然后比较两个code值
    if code != redis_code:
        raise forms.ValidationError("验证码不正确")
    # 如果正确直接返回
    return code
写回答

1回答

bobby

2019-12-04

你保存在redis中的时候key是mobile啊。你通过code查询有什么用? 如果这个验证码给其他人也发过,岂不是随便来一个人就通过验证了?

0
2
bobby
回复
努力学习向上
是的 应该先查询一下这个手机号码发送的code是多少 然后和传递过来的比对一下
2019-12-06
共2条回复

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程