>  기사  >  백엔드 개발  >  Python의 로그인 모듈에 대한 자세한 소개

Python의 로그인 모듈에 대한 자세한 소개

零下一度
零下一度원래의
2017-07-21 14:19:243247검색

로그인 모듈:

어느 웹사이트에 가더라도 우리는 종종 이런 상황에 직면하게 됩니다. 이 웹사이트에 로그인해 봅시다:

생각하기:

 1. 웹사이트에 로그인할 때 먼저 사용자 이름을 입력합니다. 이때 일부 웹사이트에서는 입력한 사용자 이름이 존재하지 않는 경우 이를 알리는 메시지가 나타납니다. 사용자 이름이 존재하지 않습니다. 이때는 다시 입력하거나 등록을 선택해야 합니다. 물론 사용자에게 다시 입력하라는 메시지가 표시됩니다.

  2. 사용자 이름이 존재하는 경우, 비밀번호를 입력할 때 비밀번호가 맞는지 확인하는 것이 아니라, 비밀번호가 맞는지 직접 확인하면 사용자에게 인증코드를 입력하게 하는 역할을 잃게 된다는 점을 알고 있습니다. 항상 비밀번호를 먼저 확인하지 말고 사용자가 인증 코드를 입력하도록 한 후 사용자가 입력한 인증 코드가 올바른지 먼저 확인하세요

  3. 인증 코드가 올바르지 않으면 사용자에게 다시 요청합니다. - 인증 코드를 입력하세요. 인증 코드가 정확하면 이때 비밀번호가 올바른지 다시 확인해야 합니다. 비밀번호가 정확하면 로그인이 성공합니다. 이때, 사용자는 이미 사용자 이름을 입력했기 때문에 다시 입력할 필요는 없습니다. 즉, 비밀번호를 다시 입력하세요. 비밀번호가 정확하면 로그인에 성공하고, 그렇지 않으면 비밀번호를 입력할 때마다 확인 코드를 다시 입력해야 합니다.

위 코드의 기능을 구현하려면 while 루프를 사용해야 합니다. 왜냐하면 계층별 검사이기 때문에 사용자가 올바른 인증 코드를 입력할 때까지 사용자 이름 입력은 루프를 거쳐야 하기 때문입니다. . 사용자 이름이 올바른지 확인하는 방법이 중요합니다. 비밀번호나 인증 코드를 잘못 입력하면 사용자 이름을 다시 입력할 필요가 없습니다. 사용자 이름이 정확하면 주기를 중지해야 하며 다음에 사용자가 비밀번호나 확인 코드를 입력할 때 사용자 이름을 반복할 수 없습니다.

 코드는 다음과 같이 구현됩니다.

 

def login(name,password):'''用户登录模块,用户登录时候的各种设置,本次实现功能''''''用户登录验证的时候,一般会先判断验证码是否正确,因此要让用户首先验证验证码'''active = Truewhile True:while active:
            username = input("请输入你的用户名:")'''首先验证用户名是否存在'''users = []for user_list in userfile.usernames:
                users.append(user_list[0])if username in users:
                active = Falseelse:
                print("对不起,您输入的用户名不存在,请重新输入:")
        pwd = input("请输入你的密码:")while True:'''加入一个用户输入验证码的模块,让用户输入验证码'''verification_code = str(random.randint(0,9)) + chr(random.randint(65,90)) + str(random.randint(0,9)) + chr(random.randint(97,122))
            print(verification_code)
            test_num = input("请输入验证码:")if test_num == verification_code.lower() or test_num == verification_code.upper():'''无论用户输入大小写都可以验证成功''''''用户验证成功后,开始进行用户自己的认证,是否注册,或者用户名正确'''breakelse:
                print("您输入的验证码有误,请重新输入!")if [username,int(pwd)] in userfile.usernames:
            print("Successful!")return (username,pwd)else:
            print("对不起,您输入的密码有误,请重新输入:")

 위 코드는 다음과 같이 실행됩니다.

请输入你的用户名:geng
请输入你的密码:1233D0t
请输入验证码:3d0t
对不起,您输入的密码有误,请重新输入:
请输入你的密码:2228I9z
请输入验证码:8888您输入的验证码有误,请重新输入!
2G0j
请输入验证码:8888您输入的验证码有误,请重新输入!
7T1a
请输入验证码:7t1a
对不起,您输入的密码有误,请重新输入:
请输入你的密码:22227X4q
请输入验证码:7x4q
对不起,您输入的密码有误,请重新输入:
请输入你的密码:6662O0q
请输入验证码:2o0q
Successful!('geng', '666')

 위 코드의 실행 결과는 위와 같습니다. 루프를 단독으로 중지하려는 경우 이 루프에 대한 식별자를 설정하여 조건이 충족되면 루프를 닫고 이를 수행할 수 있습니다. 다른 프로그램을 실행할 때는 루프가 열리지 않습니다.

  active =

True while True:
  while active:
    username = input(
"사용자 이름을 입력하세요:") ​​​​​ '''
먼저 사용자 이름이 있는지 확인하세요'''                                                                
사용자 이름 인 경우:
active = False
          else:                      
print("죄송합니다. 입력한 사용자 이름이 존재하지 않습니다. 다시 입력하십시오:
")        비밀번호:
")

위 코드에서는 이러한 함수를 구현했습니다. 이 루프를 중지하려면 내부 루프의 식별자를 닫아두기만 하면 됩니다.

위 내용은 Python의 로그인 모듈에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.