login--用户登陆,密码失败3次,账户将被锁住

简介:

---------------------------------------------userreset.py
#!/usr/bin/env python
#
 coding:utf-8 
#encoding=utf-8
#初始化用户信息
#created by xuke
#date: 2018
import pickle
user={'xkq':{'pw':'123xk','time':3,'status':'unlock'},'zq':{'pw':'123','time':3,'status':'unlock'}}
print(user)
f=open('user.pickle','wb')
pickle.dump(user,f)
f.close()
------------------------------------------------userlogin.py
#!/usr/bin/env python
#
 coding:utf-8 
#encoding=utf-8
#功能:用户登陆,密码失败3次,账户将被锁住
#created by xuke
#date: 201803
import pickle,sys,getpass
f=open('user.pickle','rb')
user_all=pickle.load(f)
#print(user)
f.close()
'''
user['dq']={'pw': 123, 'time': 3, 'status': 'unlock'}
user['zq']['time']=0
user['zq']['status']='lock'
f=open('user.pickle','wb')
pickle.dump(user,f)
f.close()
'''
def write_user():
#print(user_all)
f = open('user.pickle', 'wb')
pickle.dump(user_all, f)
f.close()

def logion():
FLAG=False
#print(user_all)
user=input('请输入用户名:')
while user not in user_all.keys():
print('用户名不存在,请重新输入')
user = input('请输入用户名:')
if user == "exit":
sys.exit()
else:
if user_all[user]['status'] =='unlock':
password = input('请输入密码:')
#password = getpass.getpass('请输入密码:')

            while password != user_all[user]['pw']:
                #print(type(user_all[user]['pw']))
                user_all[user]['time'] -=1
                if user_all[user]['time'] == 0:
                    user_all[user]['status'] = 'lock'
                    print('密码连续输入不正确,用户%s已被锁,请联系400-123456进行解锁。' % user)
                    write_user()
                    sys.exit()
                #print(user_all[user]['time'])
                print('密码不正确,你还有%s次机会会,请重新输入:'%user_all[user]['time'])
                # password = getpass.getpass('请输入密码:')
                password = input('请输入密码:')
                if password == 'exit':
                    write_user()
                    sys.exit()
            else:
                user_all[user]['time']=3
                print('\033[36;1m欢迎登陆\033[0m')
                write_user()
                FLAG = True

    else:
        print('\033[31;1m用户%s已被锁,请联系400-123456进行解锁.\033[0m'%user)
return FLAG

if__name == 'main__':
logion()











本文转自shangshanyang51CTO博客,原文链接: http://blog.51cto.com/qqran/2083211,如需转载请自行联系原作者



相关文章
|
安全 数据安全/隐私保护 Ruby
5分钟带你重置Gitlab管理员账户密码
5分钟带你重置Gitlab管理员账户密码
2035 1
|
6月前
|
存储
登录界面的验证登录以及session的使用
构建登录系统,login.jsp接收用户输入,POST数据到check.jsp验证。正确时在session中存储用户名并重定向至admin.jsp,该页检查session中的username,存在则显示管理员界面,否则返回login.jsp。session非一一对应用户浏览器,且在check.jsp中设置session超时为60秒。实验包括流程图及不同登录状态的界面展示。
76 1
|
6月前
|
存储 前端开发
通过session实现用户的登录与登出功能
通过session实现用户的登录与登出功能
199 0
|
存储 数据安全/隐私保护 Python
用户登录的用户库
用户登录的用户库
57 0
|
存储 数据安全/隐私保护
使用session记住用户登录信息
使用session记住用户登录信息
250 0
|
存储 关系型数据库 MySQL
MySQL如何快速禁用账户登入 & 如何复制/复用账户密码
如何快速临时禁止某账户登入 角色ROLES管理需要先激活 关于授权的其他几点补充 如何复制/复用账户密码
316 0
|
安全 Linux Shell
2.8 忘记root账户密码怎么办?
Linux 的单用户模式有些类似 Windows 的安全模式,只启动最少的程序用于系统修复。在单用户模式(运行级别为 1)中,Linux 引导进入根 shell,网络被禁用,只有少数进程运行。
262 0
2.8 忘记root账户密码怎么办?
|
数据安全/隐私保护
WordPress新用户注册时/修改密码提示“您的密码重设链接无效”
WordPress新用户注册时/修改密码提示“您的密码重设链接无效”
303 0