模拟登陆、锁定用户

#!/usr/bin/env python
# -*- coding:utf-8 -*-  ‘‘‘
dic = {
    "sc":{
        "cd":[‘xd‘, ‘jn‘, ‘ch‘],
        "my":[‘yx‘, ‘zt‘, ‘xx‘]
    },
    "gd":{
        "gz":[‘gz1‘, ‘gz2‘, ‘gz3‘],
        "zs":[‘zs1‘, ‘zs2‘, ‘zs3‘]
    }
}

ret = dic.keys()
print(ret)
ret = dic[‘sc‘].keys()
print(ret)
ret = dic[‘sc‘][‘cd‘]
print(ret)
‘‘‘

import sys
account_file = ‘F:\match.txt‘
locked_file = ‘F:\locked.txt‘

def deny_account(username):
    print(‘locked.‘)
    with open(locked_file, ‘a‘) as deny_f:
        deny_f.write(‘\n‘ +username)
def main():
    retry_count = 0
    retry_limit = 3
    while retry_count < retry_limit:
        username = input(‘input your name:‘)
        with open(locked_file, ‘r‘) as lock_f:
            ‘‘‘
            另外一种用户名匹配方式
            lines = []
            for line in lock_f.readlines():
                lines.append(line.strip())
            if username in lines:
            ‘‘‘
            for line in lock_f.readlines():
                if len(line) == 0:
                    continue
                if username == line.strip():
                    sys.exit(‘user {} locked.‘.format(username))
        if len(username) == 0:
            print(‘username is null‘)
            continue
        password = input(‘passwd:‘)
        with open(account_file, ‘r‘) as account_f:
            flag = False
            for line in account_f.readlines():
                user, pwd = line.strip().split()
                if username == user and password == pwd:
                    print(‘login success‘)
                    flag = True
                    break
        if flag == False:
            if retry_count < 2:
                print(‘username or password is not correct.‘)
            retry_count += 1
        else:
            break
    else:
        deny_account(username)

if __name__ == ‘__main__‘:
    main()
时间: 2024-10-13 13:25:26

模拟登陆、锁定用户的相关文章

Python作业之三次登陆锁定用户

作业之三次登陆锁定用户 作业要求如下: 1. 输入用户名和密码 2. 认证成功提示欢迎信息 3. 认证失败三次锁定用户 具体代码如下: 方法1: import os#导入os模块 if os.path.exists('d:\\login_name_list.txt'):#使用os模块的方法来检测该文件是否存在 with open('d:\\login_name_list.txt') as f:#打开文件,默认只读方式 f_read = f.read().strip() if len(f_read

Linux如何设置错误口令登陆超过N次锁定用户(针对sshd)

错误口令登陆超过3次锁定用户15分钟 # vi /etc/pam.d/sshd ... auth required pam_tally2.so deny=5 unlock_time=900 even_deny_root root_unlock_time=900 ... 保存退出,立刻生效 注:这里使用的是 pam_tally2 模块; deny: 错误口令登陆次数: unlock_time: 锁定用户时间,单位为秒: 如果想取消对 root 的锁定则把  even_deny_root 和 roo

Centos7下用户登录失败N次后锁定用户禁止登陆的方法(转)

针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁.Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户. PAM的配置文件介绍 PAM配置文件有两种写法: 一种是写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了. 另一种写法是,将PAM配置文件放到/etc/pam.d/目录下,其规则内容都是不包含 service 部分的,即不包含服务名称,而/etc/pam

微博模拟登陆后发文字微博以及自动关注用户

import requestsimport base64import timeimport rsaimport binasciiimport urllib.parseimport re,urllibfrom bs4 import BeautifulSoupclass WeiBo(): def __init__(self): self.session = requests.session() self.headers = { 'User-Agent':'Mozilla/5.0 (Windows N

作业---模拟登陆

# 模拟登陆:# 1. 用户输入帐号密码进行登陆# 2. 用户信息保存在文件内# 3. 用户密码输入错误三次后锁定用户 user.txt文件内容: {"alex":"zs123","zs":"zs123","ls":"zs123"} lock.txt文件内容: 为空 代码如下: f = open("user.txt","r",encoding=&q

python作业:模拟登陆(第一周)

模拟登陆作业需求: 1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 额外实现功能: 1.提示输入错误次数 2.输入已锁定用户会提示 3.用户不存在会提示 正确用户信息文件中以字典形式保存用户名密码: {'name': 'password','cx':'123','even':'456','test':'ok'} 锁定用户信息文件中以列表形式保存锁定用户名: ['name'] 流程图: 详细代码:(python3.6) #!/usr/bin/env

Python 基础 - Day 1 Assignment - Login 模拟登陆

作业要求: 1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 SAMPLE 1: By 刘 步骤: 1. 字符串读取转成字典 user_info = 'Eric:123456#Catherine:098765' user_list = user_info.split('#') print(user_list) user_dic ={} # 创建空字典 for item in user_list: item_list = item.split(':'

模拟登陆、Cookie传递

---恢复内容开始--- 上个月月底把模拟登陆的问题解决了,现在有时间就正好记录并复习一下. 主要使用httpclient 来进行模拟登陆 首先做一个登陆布局  一直以来都是简单拖几个控件 没有啥特效  这次我想使用一点 Material Design设计风格    查了一下 TextInputLayout这个控件  还不错 TextInputLayout 来自于 Android Design Support Library    可以让edittext的hint在用户输入的时候  自动跳到上方

Jsoup模拟登陆例子

Jsoup模拟登陆小例子,不同的网站,需要不同的模拟策略,散仙在这里仅仅作为一个引导学习. Java代码   package com.jsouplogin; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.Connection.Method; import org.

微信公众账户模拟登陆后的一系列操作

<?php header("content-type:text/html;charset=utf-8"); /** * wx_mass * * 完成微信公众账户模拟登陆后的一系列操作 * mass($content) 调用微信群发接口,群发文本信息 * getUserList($page,$pagesize,$group) 获取用户信息 * * 群发demo * * $user=array('account'=>'公众账户名称','password'=>'密码');