python输入错误密码用户锁定实现方法


Posted in Python onNovember 27, 2017

小编给大家带来了用python实现用户多次密码输入错误后,用户锁定的实现方式,以及具体的流程,让大家更好的理解运行的过程。

1.新建一个文件,用以存放白名单用户(正确注册的用户 格式:username:password),再建一个文件,用以存放黑名单用户(输入三次用户名均错误的用户)。

2.读取白名单文件,将内容赋值给一个变量,并关闭。

3.将变量以“ :”分割,分割出得第一位(索引为0)赋值给username,第二位(索引为1)赋值给password。

4.读取黑名单文件,将内容赋值给一个变量,并关闭。

5.定义一个变量(t)用于存放用户输入次数,

6.进行循环,当循环次数小于三次时,继续循环,当次数大于三次时,将提示输入次数大于三次,账号被锁定,

再循环中,输入用户名,循环判断用户名是否在黑名单中,如果在,则提示“该账号已经被锁定”,如果不再黑名单中,再白名单中继续判断,如果用户名再名单中,则继续判断密码是否正确。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @lynn
 
# 读取login.user文件,将内容赋值给变量login_f1,并关闭
f1 = open('login.user','r')
login_f1 = f1.read()
f1.close()
 
# 将变量login_f1的值,分隔符为‘:‘
# 提取第0位元素,赋值给另一个变量ruser
ruser = login_f1.strip().split(":")[0]
# 提取第1位元素,赋值给另一个变量rpwd
rpwd = login_f1.split(":")[1]
 
# 读取黑名单文件lock.user,将内容赋值给变量lock_f2,并关闭
f2 = open('lock.user','r')
lock_f2 = f2.readlines()
f2.close()
 
# 定义一个变量,用于计数
t = 0
 
# 当t小于3时,无限循环。
while t < 3:
  name = input("请输入帐号:")
  for a in lock_f2:
    if name == a:
      print("抱歉!此帐号已被锁定。")
      exit()
  for b in login_f1:
    if name == ruser:
      t = 0
      while t < 3:
        pwd = input("请输入密码:")
        if pwd == rpwd:
          print("Welcome!%s" %name)
          exit()
        else:
          print("Sorry!wrong password.")
        t += 1
      else:
        print("抱歉,错误次数达到3次,该账户被锁定!")
        f = open('lock.user', 'w')
        f.write('%s' % name)
        f.close()
      exit()

相关实例二(python 3.0 ):

 

# -*- coding:utf-8 -*-
#需求模拟用户登录,超过三次错误锁定不允许登陆
 
 
count = 0
 
#realname passwd
Real_Username = "test"
Real_Password = "test"
 
#读取黑名单的内容
f = open('black_user','r')
lock_file = f.read()
f.close()
 
Username = input('请输入用户名:')
 
#判断输入用户是否在黑名单内,如果在则不允许输入密码
for i in range(1):
 if lock_file == Username:
 print('对不起,您的用户已锁定,暂时不允许使用!')
 exit()
 else:
 continue
 
#尝试输入密码并对输入次数进行计数
for i in range(3):
 Password = input("请输入密码:")
 if Username == Real_Username and Password == Real_Password:
 print("登录成功")
 break
 else:
 print("登录失败")
 count += 1
 
#如果输入三次错误密码,则提示用户名锁定,并将用户名拉黑
if count == 3:
 print("对不起,您输入的密码错误次数已经达到3次,您的用户名将被锁定")
 f = open("black_user","w")
 f.write("%s"%Username)
 f.close()
Python 相关文章推荐
浅谈Django REST Framework限速
Dec 12 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
python远程邮件控制电脑升级版
May 23 Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
Python 数据可视化之Seaborn详解
Nov 02 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 #Python
Python基于贪心算法解决背包问题示例
Nov 27 #Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 #Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 #Python
深入理解Python中range和xrange的区别
Nov 26 #Python
PyCharm在win10的64位系统安装实例
Nov 26 #Python
python shell根据ip获取主机名代码示例
Nov 25 #Python
You might like
php 获取可变函数参数的函数
2009/08/26 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
php 定义404页面的实现代码
2012/11/19 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
浅析Ajax语法
2016/12/05 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
Python学习笔记(二)基础语法
2014/06/06 Python
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
GWebs公司笔试题
2012/05/04 面试题
心理健康心得体会
2014/01/02 职场文书
演讲稿怎么写
2014/01/07 职场文书
四好少年事迹材料
2014/01/12 职场文书
活动总结报告格式
2014/05/09 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
七一晚会主持词
2015/06/29 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers