Python判断用户密码输入次数的代码如下:
#判断用户是否锁定 now_time=datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S') nowTime=datetime.datetime.strptime(now_time,'%Y-%m-%d%H:%M:%S') #距离上次操作时间大于24小时,重置 if(nowTime-user.update_time).total_seconds()>ONE_DAY_TIME: user.pass_errnum=0 user.login_sta=False user.login_suo=datetime.datetime.now() #判断账户是否锁定 ifuser.login_sta==True: time=user.login_suo+datetime.timedelta(days=1) #账户锁定时间 if(nowTime-user.login_suo).total_seconds()<ONE_DAY_TIME: returnjsonify(errno=RET.REQERR,errmsg='该账户已经锁定,请%s后再执行操作!'%time) else: user.pass_errnum=0 user.login_sta=False user.login_suo=datetime.datetime.now() #判断用户名密码输入次数 ifuser.pass_errnum>=5: user.login_suo=datetime.datetime.now() user.login_sta=True returnjsonify(errno=RET.REQERR,errmsg='密码输入超过5次,请24小时后再执行操作!') #判断密码是否正确 ifuser.password_hash!=passwd: user.pass_errnum+=1 num=5-user.pass_errnum ifnum==0: returnjsonify(errno=RET.REQERR,errmsg='您今日的登录次数已用完!') returnjsonify(errno=RET.PWDERR,errmsg='用户名或密码错误,还有%d次机会!'%num)
附:数据库字段
login_sta = db.Column(db.Boolean, default=False) # 登录是否锁定
login_suo = db.Column(db.DateTime, default=datetime.now) # 登录锁定时间
pass_errnum = db.Column(db.Integer, default=0) # 用户密码输入次数
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容