Python第一天-----简单登录验证
-----------------------------------------
编写登录接口
要求:1、输入用户名密码
2、认证成功后显示欢迎信息
3、输错三次后锁定
--------------------------------------
#coding=utf-8
__author__ = 'wangwc' import sys,os
count = 0
locked = 0
mark_user = 0
mark_passwd = 0
#获取路径
def cur_file_dir():
path = sys.path[0]
if os.path.isdir(path):
return path
elif os.path.isfile(path):
return os.path.dirname(path)
#print (cur_file_dir())
path = cur_file_dir()
#print(path)
path1 = path.replace("\\",'/') + '/'
#print (path1)
#path2 = path1 + '/' #循环输入
while count < 3:
name = input("Username:").strip()
if len(name) == 0:
print ("Username can not be empty....")
continue
key = input("Password:").strip()
if len(key) == 0:
print("The password can not be empty!Try again...")
continue
f = open(path1 + "username.txt","r")
userlist = f.readlines()
for user in userlist:
if user.strip() == name:
mark_user = 1
f.close() if mark_user == 1:
f = open(path1 + "%s_lock.txt" %(name),"r")
locked = int(f.readline().strip())
f.close()
else:
print ("Username or Passsord wrong....")
break
if locked == 1:
print("Sorry, the username had been locked!!!Please call the system administrator...")
else:
f = open (path1 + "%s_passwd.txt" %(name),"r")
passwd = (f.readline().strip())
if passwd.strip() == key:
mark_passwd = 1
if mark_user == 1 and mark_passwd == 1:
f = open("%s_count.txt" %(name),"w")
f.write("0")
f.close()
print("%s,welcome BABY!" %(name) )
#input('Press Enter to exit')
else:
f = open("%s_count.txt" %(name),"r")
count = int((f.read().strip()))
f.close()
count +=1
f = open("%s_count.txt" %(name),"w")
f.write(str(count))
f.close()
print ("Username or password wrong!And the username '%s' has %d more chances to retry!" %(name,3 - count))
if(count == 3):
print ("'%s' has been locked!!!" %(name))
if os.path.exists(path1 + "%s_lock.txt" %(name)):
fobj = open(path1 + "%s_lock.txt" %(name),"w")
fobj.writelines("1\n")
else:
print ("Username or password wrong!")
continue
Python第一天-----简单登录验证的更多相关文章
- python练习_简单登录
python练习_简单登录 需求: 做一个登录的小程序,验证用户与密码 要求登录三次错误后锁定 以下代码实现的功能与思路: 功能: 1.除admin以外的用户累计登录失败次数超过三次则锁定,此时需要管 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- 【ADO.NET】2、各种版本的 简单登录验证
一.简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回i ...
- 使用 python 编写一个授权登录验证的模块
使用 python 编写一个授权登录验证的模块 我们编写的思路: 1.登录的逻辑:如果用户名和密码正确,就返回 token . 2.生成 token 的逻辑,根据用户名,随机数,当前时间 + 2 小时 ...
- MVC+三层+ASP.NET简单登录验证
通过制作一个登录小案例来搭建MVC简单三层 在View --Shared下创建一个母版页: <!DOCTYPE html> <html> <head> <me ...
- python 3.5 用户登录验证和输入三次密码锁定用户
#!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...
- 学习PHP第一天-----简单登录
<!DOCTYPE html> <html> <head> <title>初级登录界面</title> </head> < ...
- nodejs(一) 简单登录验证 使用mongoose 操作MongoDB
---恢复内容开始--- 开发使用webstorm 9 新建nodejs+express 项目 newfarmer 文章目录 配置Mongoose 创建目录及文件 插入数据,POST提交JSON增加 ...
- Python Flask装饰器登录验证
from flask import Flask,render_template,redirect,request,session app = Flask(__name__) app.secret_ke ...
随机推荐
- [c language] getopt
getopt(分析命令行参数) 相关函数表头文件 #include<unistd.h>定义函数 int getopt(int argc,char * ...
- ASP.NET Ajax In Action!
创建XMLHTTPRequest 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH ...
- Loadrunner11 录制手机App脚本多种方法介绍
总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装Android ...
- 使用ARM模板部署自动扩展的Linux VMSS(2)
12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号: Login-AzureRmAccount -Environ ...
- python刷取CSDN博文访问量之一
python刷取CSDN博文访问量之一 作者:vpoet 注:这个系列我只贴代码,代码不注释.有兴趣的自己读读就懂了,纯属娱乐,望管理员抬手 若有转载一定不要注明来源 #coding=utf-8 ...
- POJ 2579 Fiber Network(状态压缩+Floyd)
Fiber Network Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3328 Accepted: 1532 Des ...
- mongoDB global,startUplog
1,show logs (Ruiy看到一些人干些事就跟拉shit一样(磨叽),就来气,娃儿的,还不知所谓,抱怨,叫器一大堆!!!,喝喝,就这它还三心二意学一个故事中的主人公小小明上课偷打`皮卡`玩,三 ...
- HTML5 Canvas Cheat Sheet
HTML5 Canvas Cheat Sheet HTML5 Canvas Cheat Sheet v1.x
- Struts2(三)——数据在框架中的数据流转问题
一款软件,无在乎对数据的处理.而B/S软件,一般都是用户通过浏览器客户端输入数据,传递到服务器,服务器进行相关处理,然后返回到指定的页面,进行相关显示,完成相关功能.这篇博客重点简述一下Struts2 ...
- N种方法妙讲LIS算法
LIS算法经典汇总 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的LIS长度为5.下面一步一步试着找出它.我们定义一个序列B,然后令 i = 1 to 9 逐个 ...