当前位置: 首页 > wzjs >正文

句容市网站seo优化排名如何建立自己的网站?

句容市网站seo优化排名,如何建立自己的网站?,国外社交网站做的比较好的是,自己如何免费做网站目录 一、核心类结构全解 1.1 类定义与属性设计 代码解析: 二、注册功能代码逐行解析 2.1 用户名验证模块 功能实现: 2.2 密码设置流程 关键机制: 2.3 数据存储实现 文件操作要点: 三、登录安全机制全剖析 3.1 黑名单…

目录

一、核心类结构全解

1.1 类定义与属性设计

代码解析:

二、注册功能代码逐行解析

2.1 用户名验证模块

功能实现:

2.2 密码设置流程 

 关键机制:

2.3 数据存储实现 

文件操作要点:

三、登录安全机制全剖析

3.1 黑名单检测系统

技术亮点:

3.2 密码尝试计数器 

流程控制解析:

四、测试模块

源码


一、核心类结构全解

1.1 类定义与属性设计

class UserManager:temp_users = {}  # 类属性临时存储注册信息@classmethoddef register(cls): ...@classmethoddef login(cls): ...

代码解析

  1. 类属性 temp_users

    • 作用:在内存中暂存新注册用户信息

    • 设计考量:避免频繁文件IO操作,提升注册流程效率

    • 数据类型:字典结构 {username: password}

  2. 类方法装饰器 @classmethod

    • 特点:可通过类名直接调用(UserManager.register()

    • 优势:保持方法间状态共享,适合管理系统类操作

  3. 命名规范

    • 私有方法使用 _ 前缀(如 _validate_username_format

    • 遵循PEP8命名规范,提升代码可读性

二、注册功能代码逐行解析

2.1 用户名验证模块

@staticmethod
def _validate_username_format(username):return username.isalnum() or '_' in username

功能实现

  1. 静态方法设计

    • 无需访问类或实例属性

    • 纯粹输入验证逻辑,可独立测试

  2. 验证逻辑组合

    • isalnum():验证字母数字组合

    • '_' in username:单独处理下划线需求

    • 逻辑运算符 or 实现条件扩展

  3. 返回布尔值

    • True:格式合法

    • False:需重新输入

2.2 密码设置流程 

@classmethod
def _set_password(cls):while True:pwd = input("请输入密码:").strip()if not (pwd.isalnum() and len(pwd) <= 8):print("格式错误")continue# 二次验证部分...

 关键机制

  1. 循环控制结构

    • while True 确保必须输入合法密码

    • continue 跳过当前循环迭代

  2. 复合条件判断

    • pwd.isalnum():排除特殊字符

    • len(pwd) <=8:长度限制

    • 逻辑运算符 and 实现双重验证

  3. 输入净化处理

    • strip() 去除首尾空格

    • 防止意外空格导致验证失败

2.3 数据存储实现 

@staticmethod
def _save_user(username, password):with open('users.dat', 'a') as f:f.write(f"{username}:{password}\n")

文件操作要点

  1. 上下文管理器

    • with open() 自动处理文件关闭

    • 异常安全:即使出错也会正确关闭文件

  2. 追加写入模式

    • 'a' 模式保留历史数据

    • 避免覆盖已注册用户

  3. 数据格式化

    • 使用 : 分隔用户名密码

    • 换行符 \n 保证每条记录独立

三、登录安全机制全剖析

3.1 黑名单检测系统

@classmethod
def _check_blacklist(cls, username):try:with open('blacklist.dat') as f:return username in [line.strip() for line in f]except FileNotFoundError:return False

技术亮点

  1. 列表推导式高效查询

    • 快速生成用户名列表

    • 内存高效:逐行处理避免加载大文件

  2. 异常处理机制

    • 文件不存在时返回False

    • 保证新系统首次运行的兼容性

  3. 数据净化处理

    • strip() 去除换行符

    • 精确匹配用户名

3.2 密码尝试计数器 

for attempt in range(3):pwd = input("请输入密码:").strip()if pwd == users[username]:return Trueprint(f"剩余尝试次数:{2 - attempt}")with open('blacklist.dat', 'a') as f:f.write(f"{username}\n")

流程控制解析

  1. range循环机制

    • 固定3次尝试机会

    • attempt从0开始计数

  2. 实时反馈机制

    • 动态计算剩余次数:2 - attempt

    • 用户友好提示

  3. 自动锁定逻辑

    • 使用追加模式写入黑名单

    • 跨会话持久化存储

四、测试模块

if __name__ == "__main__":"""主程序入口操作选项:1. 注册2. 登录3. 退出系统"""while True:print("\n1. 用户注册\n2. 用户登录\n3. 退出系统")choice = input("请选择操作:").strip()if choice == '1':UserManager.register()elif choice == '2':UserManager.login()elif choice == '3':print("系统已退出")breakelse:print("无效输入,请重新选择")

源码

"""
用户注册与登录系统
采用面向对象设计,提供注册、登录和账户锁定功能
"""class UserManager:"""用户管理类,封装用户注册、登录及相关文件操作类属性:temp_users (dict): 临时存储新注册用户信息(内存中),格式:{用户名: 密码}"""temp_users = {}@classmethoddef register(cls):"""用户注册流程控制方法步骤:1. 验证用户名格式(字母、数字、下划线)2. 检查用户名是否已存在3. 验证密码格式(字母、数字,长度<=8)4. 二次确认密码5. 保存到用户数据文件异常处理:- 自动处理用户数据文件不存在的情况"""while True:# 用户名输入与格式验证username = input("请输入用户名(只能包含字母、数字、下划线):").strip()if not cls._validate_username_format(username):print("用户名格式错误,请重新输入")continue# 检查用户名是否存在if cls._check_username_exist(username):print("用户名已存在,请重新输入")continue# 密码设置流程password = cls._set_password()if not password:continue  # 密码设置失败时重新循环# 保存用户信息cls._save_user(username, password)print("注册成功!")return@staticmethoddef _validate_username_format(username):"""验证用户名格式(允许字母、数字、下划线)"""return username.isalnum() or '_' in username@classmethoddef _check_username_exist(cls, username):"""检查用户名是否存在于用户数据文件"""try:with open('users.dat') as f:return any(username == line.split(':')[0].strip() for line in f)except FileNotFoundError:return False@classmethoddef _set_password(cls):"""密码设置流程,包含二次确认"""while True:pwd = input("请输入密码(不超过8位,只能包含字母和数字):").strip()if not (pwd.isalnum() and len(pwd) <= 8):print("密码格式错误,请重新输入")continueif pwd != input("请再次输入密码进行确认:"):print("两次输入密码不一致")return Nonereturn pwd@staticmethoddef _save_user(username, password):"""将用户信息写入数据文件"""with open('users.dat', 'a') as f:f.write(f"{username}:{password}\n")@classmethoddef login(cls):"""用户登录流程控制方法功能特性:- 黑名单检查- 三次密码尝试限制- 自动锁定多次失败账户"""username = input("请输入用户名:").strip()# 黑名单检查if cls._check_blacklist(username):print("该账户已被锁定,请联系管理员")return# 验证登录信息if cls._authenticate_user(username):print("登录成功!")else:print("登录失败")@classmethoddef _check_blacklist(cls, username):"""检查用户是否在黑名单中"""try:with open('blacklist.dat') as f:return username in [line.strip() for line in f]except FileNotFoundError:return False@classmethoddef _authenticate_user(cls, username):"""执行用户认证逻辑"""# 获取有效用户数据users = cls._load_user_data()# 用户存在性检查if username not in users:print("用户不存在,请先注册")return False# 密码尝试机制for attempt in range(3):pwd = input("请输入密码:").strip()if pwd == users[username]:return Trueprint(f"密码错误,剩余尝试次数:{2 - attempt}")# 锁定账户with open('blacklist.dat', 'a') as f:f.write(f"{username}\n")print("连续三次错误,账户已锁定")return False@staticmethoddef _load_user_data():"""从文件加载用户数据到字典"""try:with open('users.dat') as f:return {line.split(':')[0].strip(): line.split(':')[1].strip()for line in f}except FileNotFoundError:return {}if __name__ == "__main__":"""主程序入口操作选项:1. 注册2. 登录3. 退出系统"""while True:print("\n1. 用户注册\n2. 用户登录\n3. 退出系统")choice = input("请选择操作:").strip()if choice == '1':UserManager.register()elif choice == '2':UserManager.login()elif choice == '3':print("系统已退出")breakelse:print("无效输入,请重新选择")

http://www.dtcms.com/wzjs/344056.html

相关文章:

  • 做商城网站需要多大的服务器seo搜索引擎优化是做什么的
  • 靠谱的网络建站公司2023广东最新疫情
  • 如何把反邪教网站做的接地气个人引流推广怎么做
  • 发布程序后网站有很多软文大全800字
  • WordPress程序主题转为app河南自助建站seo公司
  • 书画艺术网站建设概况发表文章的平台有哪些
  • 做网站的好处速推网
  • seo关键词怎么选网站优化价格
  • 顶针 东莞网站建设指数基金是什么意思
  • 临城网站建设专业seo关键词优化
  • 网站动效网络营销包括哪些
  • 装修网站建设摘要百度一下你就知道官网
  • 来年做哪些网站能致富景德镇seo
  • 平面广告设计软件志鸿优化设计官网
  • 青岛品牌网站制作短视频seo询盘获客系统软件
  • 做徽标的网站网络怎么做推广
  • 搬瓦工做网站seo品牌推广方法
  • 深圳公司网页设计推广报价seo专员是什么意思
  • 中文域名指向同一个网站网站性能优化方法
  • 南京网站开发建设电脑培训学校哪家好
  • 顺德网站建设多少钱班级优化大师怎么下载
  • 东莞网站建设排名 南城百度广告平台
  • 鞍山制作网站的公司互联网营销是做什么的
  • 网站模板带后台新浪nba最新消息
  • 荔湾区pc端网站建设湖南seo推广系统
  • 做网站要icp备案吗模板免费网站建设
  • 长春网站建设电话咨询社会新闻热点事件
  • 石龙做网站搜索引擎外部链接优化
  • 彩票网站怎么样建设seo搜索优化邵阳
  • 网站建设商城建设快速排名工具免费查询