【Python】用户登录三次锁定

需求说明:

  用户登录,对密码进行三次校验,三次均失败后,将锁定用户名,不允许登录。

解决方案:

  1、明确可成功登录的用户名和密码;

  2、用户黑名单,三次登录失败后,将用户名写入黑名单;

  3、检测黑名单的内容,如果与当前登录名一致,则不允许继续输入密码,直接提示用户已锁定。

代码实现:

 1 # -*- coding:utf-8 -*-
 2
 3 #登录三次锁定用户
 4
 5 #用于计数(循环三次的判断)
 6 count = 0
 7
 8 #真实用户名和密码
 9 real_username = "iamxxx"
10 real_password = "123qwe"
11
12 #读取黑名单的内容
13 f = open(‘black_user‘,‘r‘)
14 lock_file = f.read()
15 f.close()
16
17 username = raw_input("请输入用户名:")
18
19 #判断输入的用户名是否在黑名单内,如果在则不允许继续输入密码
20 for i in range(1):
21     if lock_file == username:
22         print("对不起,您的用户名已锁定,暂时不允许使用!")
23         exit()
24     else:
25         continue
26
27 #尝试输入密码,并将输入次数进行计数
28 for i in range(3):
29     password = raw_input("请输入密码:")
30     if password == real_password:
31         print "登录成功!"
32         break
33     else:
34         print("登录失败...")
35     count += 1
36
37 #如果错误密码输入了三次,则提示用户名锁定,并将用户名放入黑名单中
38 if count == 3:
39     print("对不起,您输入的密码错误次数已达3次,将锁定您的账户!")
40     f = open(‘black_user‘,‘w‘)
41     f.write(‘%s‘%username)
42     f.close()

执行结果:

场景1:输入正确
请输入用户名:iamxxx
请输入密码:123qwe
登录成功!

场景2:输入错误3次
请输入用户名:iamxxx
请输入密码:1
登录失败...
请输入密码:1
登录失败...
请输入密码:1
登录失败...
对不起,您输入的密码错误次数已达3次,将锁定您的账户!

再次执行:
请输入用户名:iamxxx
对不起,您的用户名已锁定,暂时不允许使用!
时间: 2024-08-23 23:25:34

【Python】用户登录三次锁定的相关文章

python之用户登录三次锁定

基于文件存储的用户登录程序(3次登录失败,锁定用户) 思路:1.login.user是存放用户id及密码的文件,也就是白名单:2.lock.user是存放被锁定的用户id的文档,默认为空,也就是黑名单:3.程序会先检查输入的用户名是否存在于黑名单中,如果有,则退出,并提示此用户被锁定,否则继续检查白名单:4.程序先对login.user里的合法用户id进行判断,若连续输入用户id错误达三次程序直接退出:4.程序最后会对输入的id,对应的密码进行判断,输入密码有3次机会,连续三次错误则会锁定用户i

用户登录三次锁定

实现功能输入三次错误密码后自动锁定,判断用户是否存在和是否已经锁定(中文用户会报错需要进一步改进) #!/usr/bin/env python # _*_ coding:utf-8 _*_ # 文件名:login_v2.py import sys user_file = 'D://PYTHON//practice//userlist' lock_file = 'D://PYTHON//practice//lock' f = open(user_file, 'r+') user_list = f.

【web开发】★☆之基于Map实现(用户登录三次失败后)24小时之内限制登录!

[web开发]★☆之基于Map实现(用户登录三次失败后)24小时之内限制登录! 近期在改一个老项目(struts1做的),客户现在想实现如下效果,用户在登录失败三次之后,锁定用户,需要信息部管理人员进行解锁!我第一想法,是在其数据库User表中加一个字段,记录登录失败的次数,但是数据库添加字段需要远程操作数据库,而对方的数据库又被各种加密软件包围!不是很方便,所以想了一下解决方案,利用Map来进行处理! 首先说一个思路,新建实体类,只有两个属性,登录失败次数,登录时间,实现get,set方法!

python用户登录模块(不使用函数等方法)

* 用户登录模块 给定用户信息表,需要满足条件如下: 1. 输入用户名密码判断 2. 输入错误次数3次时,询问用户是否需要继续尝试,Y继续,N结束 3. 可支持多用户登录 1 # 方案一:输入用户名后立即判断一次,共三次 2 li = [{'username': 'qqq', 'password': 'www'}, 3 {'username': 'aaa', 'password': 'sss'}, 4 {'username': 'zzz', 'password': 'xxx'}] 5 6 # 将

用户登录三次,禁止登录

1 def menu(): 2 #用户交互界面 3 user_name = input("请输入在用户名:") 4 password = input("请输入密码:") 5 return user_name,password #以元组形式返回值 6 ''' 7 alex 1314 8 ryan 6238 9 egon 1234 10 ''' 11 def write(): 12 #将用户名.密码和登录次数在文件中写成字典的格式 13 user_name_passwo

用户登录限制、锁定与踢出

本文以SSH为例进行PAM配置来实现相应的认证功能,其它的登录方式配置相似,详情可参考文章<PAM - 可插拔认证模块>. 1.限制用户的登录(SSH) (1)使用pam_access自定义限制规则 //新增pam_access模块认证 [[email protected] ~]# vi /etc/pam.d/sshd #%PAM-1.0 account requisite pam_access.so nodefgroup accessfile=/etc/mypam/access_ssh.co

用户登录三次机会(PYTHON)

usename=shabi password=123456 i=3 while i > 0: zh = input("请输入你的用户名:") i - = 1 if zh == usename: lj = input("请输入你的密码:") if lj == password: print("验证成功,正在登录......") print('''恭喜你成功登陆! 欢迎用户进入 usename:%s password:%s ''' %(zh,l

第三篇python用户登录程序实现

需求: 1.通过注册输入用户名和密码 2.能够验证用户名和密码是否正确 3.限制输入一定错误次数后退出程序 4.利用格式化输出方式输出信息 分析: 使用username=input()和password=input()输入用户信息,利用while语句分别实现注册.登录.循环次数功能, 嵌套if语句进行条件判别,输出用户信息. 实现: 1 #登录 2 print(''' 3 说明: 4 ‘1’开始登录 5 ‘2’注册! 6 ‘0’退出 7 登录用户名输入q,可终止程序 8 默认用户名:admin

python 用户登录, 锁定。多用户

import sysimport os userf = open('login.txt')userfr = userf.readlines()useradd = []password = []unlock =[] for line in userfr:        u = line.split()[0]        p = line.split()[1]        un = line.split()[2]        useradd.append(u)        password.