将发送给用户进行注册的验证码保存在何处



我是Django的新手,这是我第一次实现带有短信验证的注册表单。

我得到用户的手机号码并生成一个随机数并发送给他;我希望生成的代码在30分钟后过期,之后我不需要它们,所以似乎把它们保存在DB中并在过期时间后删除它们不是一个好主意。

我想知道是否有人可以帮助我解决这个问题,"什么是实现这个的最佳方法?"

提前感谢您

保存在Redis中。Redis键可以有一个TTL(生存时间),带TTL的键在一段时间后会自动删除。

import redis
r = redis.StrictRedis()
# create pin 
r.set("<phone-number>", <sms-pin>)
r.expire("<phone-number>", 1800) # 1800 seconds = 1/2 hour
# get pin
if r.exists("<phone-number>"):
    pin=r.get("<phone-number>")
    ... validate pin
else:
    ... invalid pin

更多文档请访问http://agiliq.com/blog/2015/03/getting-started-with-redis-py/

最新更新