我是Django的新手,這是我第一次使用短信驗證來實現signUp表單。在哪裏保存發送給用戶註冊的驗證碼
我得到用戶手機號碼並生成一個隨機數併發送給他;我希望生成的代碼在30分鐘後過期,之後我不需要它們,所以它似乎不是一個好主意,它們保存在數據庫中,並在過期後刪除它們。
我想知道是否有人可以幫助我解決這個問題:「實現這個的最好方法是什麼?」
非常感謝你提前
我是Django的新手,這是我第一次使用短信驗證來實現signUp表單。在哪裏保存發送給用戶註冊的驗證碼
我得到用戶手機號碼並生成一個隨機數併發送給他;我希望生成的代碼在30分鐘後過期,之後我不需要它們,所以它似乎不是一個好主意,它們保存在數據庫中,並在過期後刪除它們。
我想知道是否有人可以幫助我解決這個問題:「實現這個的最好方法是什麼?」
非常感謝你提前
將它們保存在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/
更多的文檔,您可能需要使用[Django的OTP(https://pypi.python.org/pypi/django-otp) – v1k45