实现功能:
1、用户输入账户密码
2、验证账户是否存在于黑名单,如果存在于黑名单,则执行1,否则往下执行
3、验证用户名和密码。
3.1、如果验证成功,则打印欢迎信息并退出程序;
3.2、如果用户名存在,但是密码错误,则记录这个账户的错误次数(当前会话有效)
3.2.1、如果错误次数等于等于3,则将这个用户写入锁定文件保存
4、当错误次数(用户名存在但是密码错误 + 用户名不存在)大于等于3时,sleep(5),然后重置错误次数#!/usr/bin/env python3
__author__ = 'DSOWASP'
import getpass
import time
error_count = 0 #认证错误次数,包括用户名错误和用户名正确但是密码错误
error_users = [] #用于存放用户名存在,但是密码错误的列表,存放数据格式如:
# [{'name':'ds','count':1},{'name':owasp','count':2}],当某个用户的count为3时,就把这个
# 用户加到locklist.txt文件中, 由于error_users保存在内存中,因此只有在当前会话有效
flag1 = 0 #0表示用户名不存在,1表示用户名密码正确,2表示用户名正确,但是密码错误
flag2 = 0 #0表示当前用户不存在与error_users中,1当前用户存在于error_users