1. 程式人生 > >login--用戶登陸,密碼失敗3次,賬戶將被鎖住

login--用戶登陸,密碼失敗3次,賬戶將被鎖住

lojin pickle

---------------------------------------------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()

login--用戶登陸,密碼失敗3次,賬戶將被鎖住