day09作业01用户登录与验证
import time
LoginTime = time.asctime( time.localtime(time.time()) )
print ("time %s" % LoginTime)
count = 0
#LoginName = []
data = ("1.注册新会员","2.会员登录")
for i in range(5):
print (data)
choice = input("请选择:")
if choice.isdigit():
choice = int(choice)
with open('access_file',"r+" ,encoding="utf-8") as f:
user_list = f.read().split()
if choice == 1:
username =input("请输入用户名:")
if username.split():
for item in user_list:
if (username) in item:
print("该用户%s已存在,请注册其它用户名!" % username)
break
else:
pwd = input("请输入密码:")
with open('access_file',"a+" ,encoding="utf-8") as f_write:
f_write.write("%s\n%s\n"% (username,pwd))
print ("注册成功!")
break
elif choice ==2:
login_name = input("请输入用户名:")
if login_name.split():
with open("fail_file","r+",encoding="utf-8" ) as f_lock,open("login_log","a+")as f_log:
user_lock = f_lock.read().split()
for userLock in user_lock:
if login_name in userLock:
print("该用户已锁定,请联系管理员!")
exit()
with open("access_file","r+",encoding="utf-8" ) as f_loginName:
UserList = f_loginName.read().split()
for user_list2 in UserList:
if login_name in user_list:
for count in range(1,4):
count2 =3 - count
user_passwd = input("请输入密码:")
f_passwd = UserList[UserList.index(login_name)+1]
if user_passwd == f_passwd:
f_log.write("%s,%s登录成功!\n"%(LoginTime,login_name))
print("登录成功!")
exit()
elif (user_passwd == f_passwd) == False:
f_log.write("%s,%s密码不对,第%s次登录失败!\n"%(LoginTime,login_name,count))
if count2 > 0:
print("%s密码不对,你还有%s次登录机会!"% (login_name,count2))
else:
f_log.write("%s帐号%s登录次数超过%s次,现已锁定!"%(LoginTime,login_name,count))
print("帐号%s登录次数超过%s次,现已锁定!"%(login_name,count)) with open("fail_file","a+" ) as f_lock2:
f_lock2.write("%s\n"% login_name)
exit()
if login_name not in user_list:
print("用户%s不存在,请注册或用其它用户登录!"% login_name)
break
else:
print("请输入用户名!!!")
day09作业01用户登录与验证的更多相关文章
- springmvc拦截器实现用户登录权限验证
实现用户登录权限验证 先看一下我的项目的目录,我是在intellij idea 上开发的 1.先创建一个User类 package cn.lzc.po; public class User { pri ...
- springMVC中实现用户登录权限验证
通过上网搜资料显示,使用filter和interceptor都可以实现.不过推荐使用interceptor. 下面就使用Interceptor实现用户登录权限验证功能. 拦截器需要实现Inceptor ...
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)基于SpringMVC+Shiro的用户登录权限验证
序: 在上一篇中,咱们已经对于项目已经做了基本的配置,这一篇文章开始学习Shiro如何对登录进行验证. 教学: 一.Shiro配置的简要说明. 有心人可能注意到了,在上一章的applicationCo ...
- 抽屉之Tornado实战(9)--装饰器实现用户登录状态验证
当然今天讲的验证,不只Tornado会用,以后用到web框架都会用到,最常见的场景就是只有用户登陆了才能执行某些操作,所以在执行这些操作前要先做登陆状态的验证. 比如:点赞,发布,评论等需要验证,都需 ...
- ThinkPHP中:用户登录权限验证类
使用CommonAction.class.php公共类,统一判断用户是否登录 <?php //后台登录页 Class CommonAction extends Action{ //后台登录页面 ...
- 添加一个vue全局守卫,主要用于用户登录时候验证
//注册一个全局守卫,作用是在路由跳转钱,对路由进行判断,防止未登录用户跳转到其他页面 router.beforeEach((to, from, next) => { let token = l ...
- Day1课后作业:用户登录简单版
user = "gaojun"password ="123abc"for i in range(3): user = input('请输入用户名:') pass ...
- 【嵌入式linux】用户登录密码验证配置
在配置BusyBox中配置登录密码: 配置位置BusyBox Setting --> General Configuration --> Suppo ...
- Spring:验证用户登录
利用 Spring IOC 技术实现用户登录的验证机制,对用户进行登录验证. 首先利用 Spring 的自动装配模式将 User 对象注入到控制器中,然后将用户输入的用户名和密码与系统中限定的合法用户 ...
随机推荐
- 2019-2020-1 20199308《Linux内核原理与分析》第九周作业
<Linux内核分析> 第八章 可执行程序工作原理进程的切换和系统的一般执行过程 8.1 知识点 进程调度的时机 ntel定义的中断类型主要有以下几种 硬中断(Interrupt) 软中断 ...
- Makefile 简要辅导 【转载】
A Simple Makefile Tutorial Makefiles are a simple way to organize code compilation. This tutorial do ...
- 【深入AQS原理】我画了35张图就是为了让你深入 AQS
申明 本文首发自公众号:程序员cxuan,此文章为本人投稿文章.已经和cxuan沟通,文章投递公众号,博客平台我自己发布可标记为原创. 此文章肝了很久,图片较多,希望大家喜欢. 另外,感兴趣的小伙伴可 ...
- 使用sys模块写一个软件安装进度条
import sys,time for i in range(50): sys.stdout.write('#') sys.stdout.flush() #强制刷新将内存中的文件写一条,输出一条. t ...
- MyBatis配置项--配置环境(environments)--数据源(dataSource)
数据源(dataSource) dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象的资源. ·许多MyBatis的应用程序会按示例中的例子来配置数据源.虽然是可选的,但为了使用 ...
- Echarts设置点击事件
简单明了. echarts初始化完成之后,给实例对象通过on绑定事件. 这里的事件包括: 'click','dblclick','mousedown','mouseup','mouseover','m ...
- Boostrap Table学习笔记
最近要对项目上的table进行调整,让表格能够支持更多的操作,于是接触到了boostrapTable这个插件.研究了一天,记录下学习的内容. Boostrap Table可以支持表的分页及动态显示表的 ...
- js特效:鼠标滑过图片时切换为动图
效果展示 事前准备 一张普通的静态图+与其对应的gif图. 实现思路 获取图片的src,改变其后缀,使其变成与之对应的gif图片.(很简单有木有= =) 具体实现 编写html代码 <div c ...
- vue中给window添加滚动监听无效的解决方案
原文链接: 点我 页面中有这么一个需求,当页面滚动到一定高度之后,页面中的某些元素进行吸顶,固定到顶部位置,或者是滚动到一定程度进行更新数据的操作.我相信不少网友查阅过类似的资料,网友给出的解决方案, ...
- [LOJ2865] P4899 [IOI2018] werewolf 狼人
P4899 [IOI2018] werewolf 狼人 LOJ#2865.「IOI2018」狼人,第一次AC交互题 kruskal 重构树+主席树 其实知道重构树的算法的话,难度就主要在主席树上 习惯 ...