python 입력 오류 암호 사용자 잠 금 실현 방법

작은 편집 은 python 으로 사용자 가 여러 번 비밀 번 호 를 입력 하 는 오 류 를 실현 한 후에 사용자 가 잠 금 하 는 실현 방식 과 구체 적 인 절 차 를 가 져 와 운행 과정 을 잘 이해 하도록 합 니 다.
1.새 파일 을 만 듭 니 다.화이트 리스트 사용 자 를 저장 합 니 다(올 바른 사용자 형식:username:password).블랙리스트 사용 자 를 저장 하기 위해 파일 을 만 듭 니 다(세 번 의 사용자 이름 이 모두 잘못된 사용자 입력).
2.화이트 리스트 파일 을 읽 고 내용 을 변수 에 할당 하고 닫 습 니 다.
3.변 수 를":"로 나 누 어 첫 번 째(색인 0)로 나 누 어 username 에 부여 하고 두 번 째(색인 1)는 password 에 부여 합 니 다.
4.블랙리스트 파일 을 읽 고 내용 을 변수 에 할당 하고 닫 습 니 다.
5.사용자 의 입력 횟수 를 저장 할 변수(t)를 정의 합 니 다.
6.순환 을 하고 순환 횟수 가 세 번 보다 적 을 때 계속 순환 하 며 횟수 가 세 번 이상 일 때 입력 횟수 가 세 번 이상 이 고 계 정 이 잠 겨 있 음 을 알려 줍 니 다.
재 순환 에 서 는 사용자 이름 을 입력 해 사용자 이름 이 블랙리스트 에 있 는 지 순환 적 으로 판단 하고,있 으 면'해당 계 정 이 잠 겨 있 음'을 제시 하고,더 이상 블랙리스트 에 없 으 면 재 화이트 리스트 에서 계속 판단 하고,사용자 이름 이 명단 에 있 으 면 비밀번호 가 정확 한 지 계속 판단 한다.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @lynn
 
#   login.user  ,        login_f1,   
f1 = open('login.user','r')
login_f1 = f1.read()
f1.close()
 
#    login_f1  ,    ‘:‘
#    0   ,        ruser
ruser = login_f1.strip().split(":")[0]
#    1   ,        rpwd
rpwd = login_f1.split(":")[1]
 
#        lock.user,        lock_f2,   
f2 = open('lock.user','r')
lock_f2 = f2.readlines()
f2.close()
 
#       ,    
t = 0
 
#  t  3 ,    。
while t < 3:
  name = input("     :")
  for a in lock_f2:
    if name == a:
      print("  !       。")
      exit()
  for b in login_f1:
    if name == ruser:
      t = 0
      while t < 3:
        pwd = input("     :")
        if pwd == rpwd:
          print("Welcome!%s" %name)
          exit()
        else:
          print("Sorry!wrong password.")
        t += 1
      else:
        print("  ,      3 ,      !")
        f = open('lock.user', 'w')
        f.write('%s' % name)
        f.close()
      exit()
관련 인 스 턴 스 2(python 3.0):
 

# -*- coding:utf-8 -*-
#        ,             
 
 
count = 0
 
#realname passwd
Real_Username = "test"
Real_Password = "test"
 
#        
f = open('black_user','r')
lock_file = f.read()
f.close()
 
Username = input('      :')
 
#             ,           
for i in range(1):
 if lock_file == Username:
 print('   ,       ,       !')
 exit()
 else:
 continue
 
#                
for i in range(3):
 Password = input("     :")
 if Username == Real_Username and Password == Real_Password:
 print("    ")
 break
 else:
 print("    ")
 count += 1
 
#          ,        ,       
if count == 3:
 print("   ,              3 ,         ")
 f = open("black_user","w")
 f.write("%s"%Username)
 f.close()

좋은 웹페이지 즐겨찾기