# encoding: utf-8

# Creator:耿亚月   Creation time:2017-1-1
# Modifier:耿亚月 Modification time:2017-1-2
#filename:CheckLogin import xlrd
import os
import getpass #查看账号是否注册过
def CheckRegister(username,allusers):
for user in allusers:
user = user.strip().split(',')
if username == user[0]:
time = 4
register = 'yes'
break
else:
register = 'no'
if register == 'yes':
return 'yes'
else:
return 'no' #查看账号是否被锁定过
def CheckLocked(username,lockedusers):
for user in lockedusers:
user = user.strip().split(',')
if username == user[0]:
locked = 'yes'
break
else:
locked = 'no'
if locked == 'yes':
return 'yes'
else:
return 'no' #查看是否可以登陆
def CheckLogin(username,allusers):
for user in allusers:
user = user.strip().split(',')
if username == user[0] and password == user[1]:
time = 4
login = 'yes'
break
else:
login = 'no'
if login == 'yes':
return 'yes'
else:
return 'no' # path = os.getcwd()
path = 'E:\\code\\exercise\\Day1\\CheckLogin'
AllUsers = open(path+'\\AllUsers.txt')
LockedUsers = open(path+'\\LockedUsers.txt')
allusers = AllUsers.readlines()
lockedusers = LockedUsers.readlines()
AllUsers.close()
LockedUsers.close() time = 0
pas = ''
while time < 3:
username = input('username:')
password = input('password:')
# password=getpass.getpass('password:') #查看账号是否注册过
if CheckRegister(username,allusers) == 'no':
print('there is no this username, please register in first')
break
else:
#查看账号是否被锁定过
if CheckLocked(username,lockedusers) == 'yes':
print('this ID has been locked')
break
else:
#查看是否可以登陆
if CheckLogin(username,allusers) == 'yes':
print('welcome user {name} login...'.format(name=username))
break
else:
time += 1
if time < 3:
print('Invalid username or password!')
else:
print('you put username or password over 3 time,this ID has been locked')
#将输错超过3次的用户名写入到ockedLUser文件里
LockedUsers = open(path+'\\LockedUsers.txt','a')
LockedUsers.write('\n'+username + ',' + password )
LockedUsers.close()

CheckLogin的更多相关文章

  1. 遇到困难 jsp代码onclick="javascript:return(checklogin());"报错

    <script language="javascript"> function checklogin() { if (document.getElementById(& ...

  2. jsp页面onsubmit=&quot;return checklogin();&quot;该解决方案给

    选择Window->Preferences->MyEclipse->Validation 去掉方框里的对号,然后Apply 然后点击Yes->然后再点击ok->Yes,足 ...

  3. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  4. netcore - MVC的ActionFilter的使用

    经过一周的时间没有分享文章了,主要是在使用.netcore做一个小的项目,项目面向大众用户的增删改查都做的差不多了,打算本周在云服务器上部署试试,很期待,也希望上线后大家多多支持:以上纯属个人废话,来 ...

  5. cookie——小甜品

    Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明.Cookie英文意指饼干,不过在电脑术语中它可不像饼干那么简单.简单的说,Cookie就是服务器暂存放在你计算机上的一 ...

  6. shiro在springmvc里面的集成使用【转】

    <dependency> <groupId>commons-collections</groupId> <artifactId>commons-coll ...

  7. Shiro安全框架入门篇(登录验证实例详解与源码)

    转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...

  8. 分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

  9. 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证

    注:下载本文提到的完整代码示例请访问:How to authorization Angular 2 app with asp.net core web api 在ASP.NET Core中使用Angu ...

随机推荐

  1. android源码中,在系统多媒体数据库中增加一个字段

    由于项目需求,在系统多媒体管理数据库里的存储图像文件的表中需要新增加一个字段,源码在:项目\packages\providers\MediaProvider\MediaProvider.java下,在 ...

  2. JDBC 内部资料 请勿转载 谢谢合作

    一.JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connect ...

  3. POJ 3233 Matrix Power Series(构造矩阵求等比)

    Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. ...

  4. JAVA中取余(%)规则和介绍

    在java中%的含义为取余. java :a%b 数学公式a%b=a-(a/b)*b

  5. 基于springMVC+angular+bootstrap+mysql的简易购物网站搭建

    https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&cad=rja& ...

  6. php的socket通信

    socket通常叫做'套接字',用于描述IP地址和端口,是一个通信链的句柄.应用程序通过套接字向网络发出请求或者应答忘了请求.socket既不是程序,也不是协议,其只是操作系统提供的通信层的一组抽象A ...

  7. 让Xcode 8.x能够调试iOS 7.x真机

    首先需要 Xcode 7.x.可以去 苹果开发者官网 下载. 打开Finder, 进入文件夹: Xcode .x.app/Contents/Developer/Platforms/iPhoneOS.p ...

  8. div居中方法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Strus2第一次课:dom4j操作xml

    先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...

  10. js 中与元素有关的高度

    1, 平常都经常用 document.documentElement.clientWidth 或 document.documentElement.clientHeight 来获取页面的宽度和高度, ...