用户登入认证模块

 

 

 

1、输入用户名和密码:

2、认证成功后显示欢迎信息:

3、输入三次错误后锁定用户信息(通过黑名单)

 

 知识要点:

1、读取白名单(可以用字典,也可以用文件)。

1 dic = {'u1':'a1','u2':'a2','u3':'a3','dy':'abc123'}

 

 

2、读取和写入黑名单。

1 #读取黑名单
2 
3 f = open('Huser.txt','r')
4 blacklist = f.read()
5 f.close()

 

1 #加入黑名单
2 
3 f = open('Huser.txt','a') #添加方式打开文件
4 f.write('%s' %username) #插入报错的用户名
5 f.write('\n')
6 f.close()

 

3、if循环

4、for循环

5、计数器的使用:

 

3、正文:

 1 #!/usr/bin/env python
 2 # -*- coding:utf8 -*-
 3 # Author:Dong Ye
 4 
 5 
 6 dic = {'u1':'a1','u2':'a2','u3':'a3','dy':'abc123'}
 7 counter = 0
 8 
 9 #读取黑名单:
10 f = open('Huser.txt','r')
11 blacklist = f.read()
12 f.close()
13 
14 
15 
16 #用户输入用户名,并判断是否被锁定,(可以变更为是否有权限登入)
17 username = input("请输入用户名: ").strip()
18 if username in dic.keys():
19     if username in blacklist:
20         #print("您的用户已经锁定,请联系管理员!")
21         exit('您的用户已经锁定,请联系管理员!')
22     #else:
23         #print("没有被锁定。。")
24 else:
25     exit("无效用户")
26 
27 
28 #判断白名单是否正确,如果白名单存在输入三次密码后将会被锁定,如果白名单不存在则提示无效用户:
29 for i in range(10):
30     if counter < 3:
31         passwd = input("请输入密码:").strip()
32         if passwd in dic.values():
33             print("登入成功")
34             break
35         else:
36             print("密码错误")
37     else:
38         print("对不起,您输入次数过多,用户已被锁定,请联系管理员")
39 
40         #加入黑名单
41         f = open('Huser.txt','a') #
42         f.write('%s' %username)
43         f.write('\n')
44         f.close()
45         break
46     counter += 1

 

posted @ 2017-12-12 10:39  风之岚翔  阅读(276)  评论(0编辑  收藏  举报