用户三次登录锁定

简介:
需求
    编写登陆接口
    让用户输入用户名密码
    认证成功后显示欢迎信息
    输错三次后退出程序
    可以支持多个用户登录
    用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
测试信息
   用户           密码
   alex            123
   egon            456

   锁定用户        密码
   lyndon           789

流程图:

wKioL1loNs2RweeYAACDtJfn_VE687.png

脚本实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/env python
# -*- coding:utf-8 -*-
# 用字典定义用户名和密码
db = { 'egon' : '123' , 'alex' : '456' , 'lyndon' : '789' }
"""
需要先创建文件user_list
a、a+ 能创建文件,但不能按行读取文件内容
w、w+ 能创建文件,但每次执行会清空文件内容
r、r+ 能按行读取文件内容,但不能创建不存在的文件
只能手动创建了,心累。。。
"""
# 按行读取user_list内容,以列表形式赋值给lock_list
f = open ( 'user_list' , 'r' )
lock_list = f.readlines()
lock_list = lock_list.__str__()
f.close()
 
while  True :
     print  ( """
==========================
【E】     登录
【Q】     退出
==========================
     """ )
     choice = input  ( '请输入你的选择:' )
     if  choice.lower()  = =  'q' :
         break
     elif  choice.lower() ! =  'q'  and  choice.lower() ! =  'e' :
         print  ( '输入错误,请重新输入' )
     if  choice.lower()  = =  'e' :
         username = input  ( '请输入用户名:' )
         if  username  not  in  db:
             print  ( '没有此用户!' )
             continue
         elif  username  in  lock_list:
             print  ( '该用户已锁定,请联系管理员解锁!' )
             continue
         else :
             for  in  range ( 3 ):
                 passwd = input  ( '请输入密码:' )
                 if  passwd ! =  db.get(username):
                     print  ( '密码错误!' )
                     if  = =  2 :
                         =  open ( 'user_list' , 'a' )
                         f.writelines( '%s\n' % username)
                         f.close()
                         print  ( '密码错误三次,用户已锁定!' )
                         exit()
                 else :
                     print  ( '登陆成功!' )
                     break

本文转自lyndon博客51CTO博客,原文链接http://blog.51cto.com/lyndon/1947417如需转载请自行联系原作者

迟到的栋子
相关文章
|
10月前
katalon登录显示账户锁定如何解决?
katalon登录显示账户锁定如何解决?
|
JSON 安全 前端开发
如何认证当前的操作用户?
如何认证当前的操作用户?
|
Linux Shell 编译器
Linux:关机&重启操作+用户登录和注销+添加用户+指定/修改密码+删除用户+查询用户信息+切换用户+查询当前用户/登录用户+用户组+修改用户的组+用户组和相关文件
Linux:关机&重启操作+用户登录和注销+添加用户+指定/修改密码+删除用户+查询用户信息+切换用户+查询当前用户/登录用户+用户组+修改用户的组+用户组和相关文件
290 0
Linux:关机&重启操作+用户登录和注销+添加用户+指定/修改密码+删除用户+查询用户信息+切换用户+查询当前用户/登录用户+用户组+修改用户的组+用户组和相关文件
|
Linux
Linux使用PAM锁定多次登陆失败的用户
Linux使用PAM锁定多次登陆失败的用户
138 0
|
数据安全/隐私保护
需求: 需要完成如下基本功能: 1:添加用户 (注册) 2:删除用户 (注销用户) 3:修改用户 4:查询单个用户 5:查询所有用户 6:退出系统 程序运行后,
需求: 需要完成如下基本功能: 1:添加用户 (注册) 2:删除用户 (注销用户) 3:修改用户 4:查询单个用户 5:查询所有用户 6:退出系统 程序运行后,除
洲际远程打击之锁定用户登录
 楔子 月光色 女子香 泪断剑 情多长 。 作为运维人员一定要保持自己的操守和底线 。 昨天做的测试服务器做好了,可是今天早晨一来到公司发现被改了。所以看到门户网站被改时,你一定要查找真凶,做福尔摩斯。
884 0
|
数据安全/隐私保护
支付密码已被锁定,建议你找回密码-沙箱报错
说明:   这个报错只会在沙箱接口测试中报错。  注意:沙箱默认支付密码都是6个1(数字) 报错截图:  建议:   等待三小时,三个小时候自动解锁。再进行测试(没有别的处理途径)。 原因: 沙箱是没办法进行密码找回功能,等待3小时以后锁定会自动解除。 如果您还有疑问欢迎在本帖下方留言
1252 0
|
SQL Oracle 关系型数据库