Python之简单的用户名密码验证
题目要求:
#Author jack
# _*_ coding: utf-8 _*_
#date 2019-08-14
'''
作业一:编写登录接口
输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定
'''
#判断用户账号密码
def check_pass(username, password):
with open('userfile.txt', 'r+') as f:
content = f.readlines()
for i in content:
if i.split(',')[0] == username and i.split(',')[1].strip('\n') == password:
return True
break
else:
return False #判断用户名是否锁定:
def isLock(username):
with open('locklist.txt', 'r') as f:
cont = f.read()
if username in cont:
return False
else:
return True #写锁定用户名到locklist,如果用户输错三次,就调用此函数,讲锁定的用户名写入此文件
def writeErrlist(username):
with open('locklist.txt', 'a+') as f:
f.write(username)
f.write('\n') def main():
count = 0 #存储输密码次数
while count < 3:
username = input('Please input your username: ')
is_lock = isLock(username)
if is_lock:
passwd = input('Please input your password: ')
result = check_pass(username, passwd)
if result:
print('welcome back! "{}"'.format(username))
break
else:
count += 1
if count < 3:
print('Invalid username or password, Please try again!')
else:
print('Too many attempts, Your account has benn locked.')
writeErrlist(username)
else:
print('Your account has been locked!!!') if __name__ == "__main__":
main()
Python之简单的用户名密码验证的更多相关文章
- 【WCF】使用“用户名/密码”验证的合理方法
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...
- WebService 用户名密码验证
原文:WebService 用户名密码验证 在项目开发的过程中,WebService是经常要用的,当调用WebService方法时,需要经过服务的验证才可以调用,一般就是用户名/密码验证,还有一个就是 ...
- 自定义实现wcf的用户名密码验证
目前wcf分为[传输层安全][消息层安全]两种,本身也自带的用户名密码验证的功能,但是ms为了防止用户名密码明文在网络上传输,所以,强制要求一旦使用[用户名密码]校验功能,则必须使用证书,按照常理讲, ...
- WCF 安全性之 自定义用户名密码验证
案例下载 http://download.csdn.net/detail/woxpp/4113172 客户端调用代码 通过代理类 代理生成 参见 http://www.cnblogs.com/woxp ...
- OpenVPN使用用户名/密码验证方式
OpenVPN推荐使用证书进行认证,安全性很高,但是配置起来很麻烦.还好它也能像pptp等vpn一样使用用户名/密码进行认证. 不管何种认证方式,服务端的ca.crt, server.crt, ser ...
- 【WCF】Silverlight+wcf+自定义用户名密码验证
本文摘自 http://www.cnblogs.com/virusswb/archive/2010/01/26/1656543.html 在昨天的博文Silverlight3+wcf+在不使用证书的情 ...
- vb6-很简单的配置密码验证提示
'很简单的配置密码验证提示 Dim add As String add = Trim(InputBox("请输入配置密码", "报表配置")) If add = ...
- WCF服务安全控制之netTcpBinding的用户名密码验证【转】
选择netTcpBinding WCF的绑定方式比较多,常用的大体有四种: wsHttpBinding basicHttpBinding netTcpBinding wsDualHttpBinding ...
- WCF用户名密码验证方式
WCF使用用户名密码验证 服务契约 namespace WCFUserNameConstract { [ServiceContract] public interface IWcfContract { ...
随机推荐
- LaunchScreen原理
会自动加载LaunchScreen是因为在Target当中,指定了Launch Screen file 它的底层实现其实把LaunchScreen上的东西,生成了一张图片,然后把这张图片设为程序的启动 ...
- eclipse快捷键 包括查找类、方法、变量
[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ ...
- kubeadm部署安装+dashboard+harbor
kubeadm 部署安装+dashboard+harbor master(2C/4G,cpu核心数要求大于2) 192.168.80.10 docker.kubeadm.kubelet.kubectl ...
- 安装Linux8.3.2011
镜像地址:http://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/ 非DVD镜像安装时的安装源地址:http://mirrors.aliyun.co ...
- (Elementui) el-tree 中英文过滤以及搜索到父子显示子节点,搜索到子节点显示父节点(filter-node-method)
案例下载:https://gitee.com/tudoumlp/just1.git (vue-ele-demo) 在项目中,会遇到树节点的搜索,中文和英文搜索,以及搜索到父节点匹配的时候同步显示该 ...
- 用Java模拟实现对系统文件以目录的拷贝功能
要用Java对单个文件拷贝的话,其实思路很简单,循环读取被拷贝文件,放入byte数组,然后写入目标文件.当然我们也可以借助现有的类去完成,如InputStream中的transferTo()方法就可以 ...
- Solution -「多校联训」轮回
\(\mathcal{Description}\) 有 \(n\) 个黑盒,第 \(i\) 个黑盒可以让输入变量以 \(p_i\) 的概率保持不变,以 \(\frac{1-p_i}2\) 的概率加 ...
- Solution -「ARC 104C」Fair Elevator
\(\mathcal{Description}\) Link. 数轴从 \(1\sim 2n\) 的整点上有 \(n\) 个闭区间.你只知道每个区间的部分信息(可能不知道左或右端点,或者都不知 ...
- JavaScript ==原理与分析
JavaScript原始类型 ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String. typeof ...
- Java超全大纲.jpg
Java超全大纲.jpg