资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python中获取密码输入次数的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

西林网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

这篇文章主要介绍python中获取密码输入次数的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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()
    # 判断账户是否锁定
    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) # 用户密码输入次数

以上是python中获取密码输入次数的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!


分享文章:python中获取密码输入次数的方法-创新互联
文章URL:http://cdkjz.cn/article/decgis.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220