django-simple-captcha验证码的验证问题
验证码生成时用户还没有登录,所以无法拿到用户id,这能设置验证码的有效时间
验证码的验证:
def jarge_captcha(captchaStr, captchaHashkey):
if captchaStr and captchaHashkey:
try:
# 获取根据hashkey获取数据库中的response值
get_captcha = CaptchaStore.objects.get(hashkey=captchaHashkey)
if get_captcha.response == captchaStr.lower(): # 如果验证码匹配
return True
except:
return False
else:
return False
验证码设置失效时间,有两种,
1、直接MySQL用时间取值
# 获取一分钟以内的数据
# 1,将当前时间减一分钟,
# 2,通过orm查询时间大于等于刚才获取的时间
a_minute_ago=datetime.datetime.now()-datetime.timedelta(minutes=1)
reocrd=table.objects.filter(create_time__gte=a_minute_ago)
2、使用redis做缓存处理
使用captcha生成图形验证码、设置有效期