• 技术文章 >常见问题 >Python常见问题

    python中怎么获取密码输入次数

    yangyang2020-04-05 09:38:06原创3025

    Python判断用户密码输入次数的代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    # 判断用户是否锁定

    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
    上一篇:postgresql如何备份数据库 下一篇:python中怎么安装插件

    相关文章推荐

    • python删掉数据表几列的方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网