zoukankan      html  css  js  c++  java
  • python学习登录接口

    
    

    开发环境:

    
    

      OS:64位Windows 7
      IDE:pycharm4.0.4
      python版本:2.7.10

    程序简述:

      a、本登录接口实现的功能为对登录的用户名进行判断,对与存在locklist列表中的用户禁止访问
      b、对连续输错三次密码的账号进行锁定,后续再使用该账户登录时提醒账号被锁定
      c、可以正常登陆的用户名与密码均提前写好在namelist.txt文件中,如需额外增加合法用户,只需在namelist.txt文件中增加即可  d、locklist.txt与namelist.txt均是纯文本文件,自己手动添加几个用户密码即可
    
    

    版权说明:

    
    

      本登录接口只做python学习使用,版权有作者所有,未经过作者本人同意,不得将此登录接口应用于商业用途。


     1
    # -*- coding:utf-8 -*- 2 __author__ = 'bruce' 3 4 name1 = open("namelist.txt","r") 5 lock1= open("locklist.txt","r") 6 namelist = name1.read() 7 locklist = lock1.read() 8 9 logincount = 0 10 passcount = 0 11 errorcount =0 12 13 loginname = raw_input("请输入您的用户名:").strip() 14 15 while logincount < 3: 16 17 if loginname in locklist: #1、直接输入黑名单,程序退出 18 print "账号被锁定,%s禁止登录" % loginname 19 break 20 elif loginname in namelist: #2、第一次输对用户名 21 passwd = raw_input("请输入您的密码:").strip() 22 while passcount < 3: 23 # passwd = raw_input("请输入您的密码:").strip() 24 if passwd in namelist: 25 print "登录成功" 26 break 27 else: 28 passwd = raw_input("请输入您的密码:").strip() 29 passcount += 1 30 # print "您还有%d次输入" % (3 - int(passcount)) 31 else: #判断第三次输入是否正确 32 if passwd in namelist: 33 print "登录成功" 34 break 35 else: 36 print "密码尝试次数太多,账号%s被锁定 " % loginname 37 lock1.close() 38 lock2= open("locklist.txt","a") 39 lock2.write(loginname) 40 lock2.write("\n") 41 lock2.close() 42 break 43 break 44 45 else: #3、第一次没有输对用户名,两种情况 46 while errorcount < 3: 47 if loginname in locklist: 48 print "%s账号被锁定状态,禁止登录" % loginname 49 break 50 elif loginname in namelist: 51 print "用户名正确" 52 passwd = raw_input("请输入您的密码:").strip() 53 # print "您还有3次输入" 54 while passcount < 3: 55 if passwd in namelist: 56 print "登录成功" 57 break 58 else: 59 passwd = raw_input("请输入您的密码:").strip() 60 passcount += 1 61 # print "您还有%d次输入" % (3 - int(passcount)) 62 # print passcount 63 64 else: #判断第三次输入是否正确 65 if passwd in namelist: 66 print "登录成功" 67 break 68 else: 69 print "密码尝试次数太多,账号%s被锁定 " % loginname 70 lock1.close() 71 lock3= open("locklist.txt","a") 72 lock3.write(loginname) 73 lock3.write("\n") 74 lock3.close() 75 break 76 break 77 78 else: 79 # loginname = raw_input("用户名不存在,请输入您的用户名:").strip() 80 if loginname in namelist: 81 # print "dengluchengg" 82 # # break 83 pass 84 else: 85 loginname = raw_input("用户名不存在,请输入您的用户名:").strip() 86 errorcount += 1 87 # print "您还有%d次输入" % (3 - int(errorcount)) 88 # print errorcount 89 else:#判断第三次是否输对 90 if loginname in namelist: 91 # print "最后一次输对" 92 passwd = raw_input("请输入您的密码:").strip() 93 # print "您还有3次输入" 94 while passcount < 3: 95 if passwd in namelist: 96 print "登录成功" 97 break 98 else: 99 passwd = raw_input("请输入您的密码:").strip() 100 passcount += 1 101 #print passcount 102 103 else: #判断第三次输入是否正确 104 if passwd in namelist: 105 106 print "登录成功" 107 break 108 else: 109 110 print "密码尝试次数太多,账号%s被锁定 " % loginname 111 lock1.close() 112 lock4= open("locklist.txt","a") 113 lock4.write(loginname) 114 lock4.write("\n") 115 lock4.close() 116 break 117 break 118 119 else: 120 121 print "账号尝试次数太多,账号%s被锁定 " % loginname 122 lock1.close() 123 lock5= open("locklist.txt","a") 124 lock5.write(loginname) 125 lock5.write("\n") 126 lock5.close() 127 break 128 break 129 name1.close() 130 lock1.close()
    View Code
  • 相关阅读:
    /proc/interrupts 和 /proc/stat 查看中断的情况
    publish and submit
    camera shading比例
    高负载linux调优
    linux网络socket 接口转
    深入分析linux调度机制
    大型网站架构之分布式消息队列
    Linux下高并发socket最大连接数所受的各种限制(详解)
    Linux服务器高并发实践经历
    oracle: 分割字符串,或者查找字段里面的关键字(关键字1,关键字2,关键字3)
  • 原文地址:https://www.cnblogs.com/mzpy1119/p/5144687.html
Copyright © 2011-2022 走看看