背景介绍
本系统旨在实现用户注册与登录功能,支持前后端交互。用户通过登录界面输入用户名和密码,后端验证并返回状态信息,便于用户管理账户。系统采用Python语言实现,支持本地运行,无需依赖框架或外部服务,适合个人网页项目开发。
思路分析
- 输入验证逻辑
- 用户输入用户名和密码,需验证非空且密码符合规则(如至少6位字符、大小写混合等)。
- 使用简单数据结构(如字符串)处理输入,验证后保存到文件。
- 文件读写功能
- 存储用户信息到本地文件,例如
user_data.txt,方便后续管理。
- 存储用户信息到本地文件,例如
- HTTP请求处理
- 后端通过HTTP请求验证用户信息并返回状态信息,简化接口调用流程。
- 登录逻辑
- 用户输入用户名和密码后,后端验证并返回成功状态。
代码实现
import os
import secrets
# 保存用户信息的文件路径
user_file_path = "user_data.txt"
# 初始化用户信息字典
user_data = {}
def save_user_info(username, password):
"""保存用户信息到文件"""
try:
with open(user_file_path, 'w', encoding='utf-8') as file:
user_data[username] = password
file.write(f"{username}:{password}\n")
print("用户信息已保存。")
except Exception as e:
print(f"保存用户信息时出错:{e}")
def load_user_info():
"""加载用户信息"""
try:
with open(user_file_path, 'r', encoding='utf-8') as file:
for line in file:
username, password = line.strip().split(':')
user_data[username] = password
return user_data
except FileNotFoundError:
print("用户信息文件未找到,请手动创建。")
return {}
def validate_username(username):
"""验证用户名是否合法"""
if not username:
print("用户名不能为空!")
return False
return username.isalnum()
def validate_password(password):
"""验证密码符合规则"""
if len(password) < 6:
print("密码长度不足!请至少6位字符。")
return False
return all(c.isalnum() for c in password)
def login(username, password):
"""验证登录逻辑"""
if validate_username(username):
if validate_password(password):
# 保存验证通过的用户信息
save_user_info(username, password)
print("登录成功!您的账户已成功注册。")
return True
else:
print("登录失败!密码验证失败。")
return False
else:
print("用户名或密码无效!")
return False
# 示例使用
if __name__ == "__main__":
username = input("请输入用户名:") or "user123"
password = input("请输入密码:") or "123456"
if login(username, password):
print("登录成功!")
else:
print("登录失败!")
总结
本项目通过文件读写实现用户信息的持久化存储,验证逻辑简单但有效,验证密码的规则设计符合常见的密码要求。该系统展示了Python在本地环境下的使用场景,学习了文件处理、数据结构以及简单HTTP请求的实现。通过实际测试,系统可以验证用户名和密码的合法性,并返回状态信息,适用于个人网页项目开发。
代码规范与可运行性
- 可运行性:代码在本地环境中直接运行,无需依赖外部库。
- 注释:所有关键步骤均标注注释,解释清楚功能实现。
- 数据结构:使用字典保存用户信息,便于后续维护。
该项目可作为个人网页项目的初步实现,帮助开发者掌握基础的编程实践。