Python 判断用户密码输入次数

    # 4.判断用户是否锁定
    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()
    # 判断账户是否锁定
    if user.login_sta == True:
        time = user.login_suo + datetime.timedelta(days=1)
        # 账户锁定时间
        if (nowTime - user.login_suo).total_seconds() < ONE_DAY_TIME:
            return jsonify(errno=RET.REQERR, errmsg='该账户已经锁定,请%s后再执行操作!' % time)
        else:
            user.pass_errnum = 0
            user.login_sta = False
            user.login_suo = datetime.datetime.now()
    # 判断用户名密码输入次数
    if user.pass_errnum >= 5:
        user.login_suo = datetime.datetime.now()
        user.login_sta = True
        return jsonify(errno=RET.REQERR, errmsg='密码输入超过5次,请24小时后再执行操作!')
     # 判断密码是否正确
	if user.password_hash != passwd:
	   	 user.pass_errnum += 1
	      num = 5 - user.pass_errnum
	        if num == 0:
	            return jsonify(errno=RET.REQERR, errmsg='您今日的登录次数已用完!')
	        return jsonify(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) # 用户密码输入次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值