zoukankan      html  css  js  c++  java
  • 尝试写个登录接口

    流程图能看,但自己画还是比较费劲的,就采用了上面的简单版本

    #根据分析,采用用户名和密码分批输入,分别校验方式进行
    #先输入用户名并打开两个txt进行校验
    name = input("登录用户名:")
    f=open("white_list.txt",'r',encoding="utf-8") #存放用户名密码,只读方式
    f1=open("black_list.txt",'r+',encoding="utf-8") #存放锁定用户的文件,读写方式
    name_pwd=f.readlines() #将文件读取为列表
    lock = f1.readlines() #将锁定的文件读出来
    name_list=[] #用户名列表
    pwd_list=[] #密码列表
    name_lock=[] #收集锁定的账户
    i=0#密码计数,3次写入黑名单并结束程序
    for list_a in name_pwd:
    name_list.append(list_a[0:9].strip()) #前9位为name
    pwd_list.append(list_a[9:].strip()) #9位以后为password
    for list_b in lock:
    name_lock.append(list_b[0:].strip()) #锁定的用户名
    exit_flag = False #判断运行完后能退出
    #程序启动前先判断用户名在不在黑名单
    if name in name_lock:
    print("%s账户已被锁定,请联系管理员"%name)
    else:
    #判断用户名是否有效
    if name in name_list:
    while not exit_flag:
    password = input("请输入密码:")
    i += 1
    if password == pwd_list[name_list.index(name)]: #将name所在的列将密码匹配出来
    print("%s欢迎进入"%name)
    exit_flag = True
    elif i>=3:
    f1.writelines(name+" ")
    print("密码连续错误3次,账户%s已被锁定,请联系管理员"%name)
    exit_flag = True
    else:
    print("{}密码错误{}次,请重新输入".format(name,i))
    else:
    print("用户名%s不存在"%name)
    f.close()
    f1.close()
  • 相关阅读:
    SQL SERVER 表分区技术
    T-SQL 查询某个表的约束(包含触发器trigger)
    该数据库标记为 SUSPECT解决方法
    DevExpressGridHelper
    DevExpress MVC Gridview 把header caption 替换为 CheckBox (类似select all)
    CSRF漏洞
    XSS闯关挑战(1-15)
    Nginx 解析漏洞
    Nginx 配置错误导致漏洞
    Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • 原文地址:https://www.cnblogs.com/digitalNatives/p/10582731.html
Copyright © 2011-2022 走看看