# 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. HTML 5 应用程序缓存(下)

    Manifest 文件manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容). manifest 文件可分为三个部分: CACHE MANIFEST - 在此标题下列出的 ...

  2. 使用PHP QR Code生成二维码

    使用PHP QR Code生成二维码   HP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址: http://phpqrcode.so ...

  3. CentOS安装cacti

    1.安装软件包 yum install -y httpd php php-mysql \ php-snmp mysql mysql-server \ perl-DBD-MySQL php-pdo ne ...

  4. centos 6.6中的yum源更换成国内的阿里云yum源

    阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/ 第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base. ...

  5. 复旦高等代数 II(15级)思考题

    1.设 $f(x)=x^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0$ 是整系数首一多项式, 满足: $|a_0|$ 是素数且 $$|a_0|>1+\sum_{i=1}^{n ...

  6. vue.js存储--localStorage

    //list例子:绑定从localStorage中读取的数据,动态添加list并监听将数据变化存储在localStorage中,绑定点击事件改变样式, 页面 data数据: input_name:'' ...

  7. GridView数据绑定

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  8. Query Designer:公式冲突

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 点燃圣火! Ember.js 的初学者指南

    现在,到处都可以看到复杂的 JavaScript 应用程序. 由于这些应用程序变得越来越复杂,一长串的 jQuery 回调语句,或者通过应用程序在各个点执行不同的函数调用,这些都变得无法再让人接受. ...

  10. 转载分享----一线交付眼中的为何"项目总是迟迟无法交付”

    当初博主在一线交付BOSS系统中承担过TC角色 交付的路途很艰辛,加班到10点多或1点多第二天8点上班,还有通宵的日子 还有无数个问题从开始到关闭的周期,各种催人,各种掐架拉会,各种被甲方嫌弃 看到这 ...