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用户登录与验证的更多相关文章

  1. springmvc拦截器实现用户登录权限验证

    实现用户登录权限验证 先看一下我的项目的目录,我是在intellij idea 上开发的 1.先创建一个User类 package cn.lzc.po; public class User { pri ...

  2. springMVC中实现用户登录权限验证

    通过上网搜资料显示,使用filter和interceptor都可以实现.不过推荐使用interceptor. 下面就使用Interceptor实现用户登录权限验证功能. 拦截器需要实现Inceptor ...

  3. SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)基于SpringMVC+Shiro的用户登录权限验证

    序: 在上一篇中,咱们已经对于项目已经做了基本的配置,这一篇文章开始学习Shiro如何对登录进行验证. 教学: 一.Shiro配置的简要说明. 有心人可能注意到了,在上一章的applicationCo ...

  4. 抽屉之Tornado实战(9)--装饰器实现用户登录状态验证

    当然今天讲的验证,不只Tornado会用,以后用到web框架都会用到,最常见的场景就是只有用户登陆了才能执行某些操作,所以在执行这些操作前要先做登陆状态的验证. 比如:点赞,发布,评论等需要验证,都需 ...

  5. ThinkPHP中:用户登录权限验证类

    使用CommonAction.class.php公共类,统一判断用户是否登录 <?php //后台登录页 Class CommonAction extends Action{ //后台登录页面 ...

  6. 添加一个vue全局守卫,主要用于用户登录时候验证

    //注册一个全局守卫,作用是在路由跳转钱,对路由进行判断,防止未登录用户跳转到其他页面 router.beforeEach((to, from, next) => { let token = l ...

  7. Day1课后作业:用户登录简单版

    user = "gaojun"password ="123abc"for i in range(3): user = input('请输入用户名:') pass ...

  8. 【嵌入式linux】用户登录密码验证配置

    在配置BusyBox中配置登录密码: 配置位置BusyBox Setting -->           General Configuration -->           Suppo ...

  9. Spring:验证用户登录

    利用 Spring IOC 技术实现用户登录的验证机制,对用户进行登录验证. 首先利用 Spring 的自动装配模式将 User 对象注入到控制器中,然后将用户输入的用户名和密码与系统中限定的合法用户 ...

随机推荐

  1. centos7与8的区别

    1.关于内核版本:RHEL8采用4.18.0-xRHEL7采用3.10-0-x 2 网络时间同步 RHEL8 只使用Chronyd,不支持NTP部署. RHEL7Chronyd与NTP两者都支持 3. ...

  2. linux抓包的实现

    工具: wireshark tcpdump 在这里仅仅介绍后者: 在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀工具一样,它的特点就是简单而强大. 默认情况下, ...

  3. dotnetcore配置框架简介

    一.前言 配置的本质就是字符串的键值对,微软的一系列接口其实就是对这些键值对字符串的抽象. 二.基本类型 2.1.Nuget包 Microsoft.Extensions.Configuration.A ...

  4. while循环脚本

    [root@oldboy ~]# (while :;do date;sleep 5;done)& fg ctrl c退出 fg ( while :; do date; sleep 5; don ...

  5. Spring Boot 静态文件,请求不到,util文件夹

    静态文件貌似对util文件夹有特殊处理static/js/test.js 可以请求到static/js/laydate/test.js 可以请求到static/js/util/test.js 请求不到

  6. SQL语句学习(二)

    为一张表添加外键: 这里我们希望再建一张订单的表为t_order,包含order_id,customer_id和price: ) NOT NULL auto_increment PRIMARY KEY ...

  7. chrome清除缓存、不使用缓存而刷新快捷键

    Ctrl+Shift+Del  清除Google浏览器缓存的快捷键 Ctrl+Shift+R  重新加载当前网页而不使用缓存内容 转载于:https://www.cnblogs.com/JAVA-ST ...

  8. Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)

    Vasya has a string s of length n. He decides to make the following modification to the string: Pick ...

  9. CF思维联系–CodeForces-217C C. Formurosa(这题鸽了)

    ACM思维题训练集合 The Bytelandian Institute for Biological Research (BIBR) is investigating the properties ...

  10. Codeforces 1291 Round #616 (Div. 2) B

    B. Array Sharpening time limit per test1 second memory limit per test256 megabytes inputstandard inp ...