Release 说明文档
v1.4 版本说明
版本标题
发票OCR管理系统 V1.4 安全与认证
版本描述
## 🔐 用户认证与安全体系
- ✅ 新增完整的用户登录认证系统(Flask-Login + bcrypt)
- ✅ 新增首次启动密码设置流程,无需用户名,仅需设置密码
- ✅ 新增 TOTP 两步验证(MFA),兼容 Google Authenticator
- ✅ 新增账户锁定机制:5次密码错误锁定15分钟,锁定期间禁用表单+倒计时
- ✅ 新增 Flask-Limiter 请求限流(GET 60/min, POST 20/min)
- ✅ 新增全局 CSRF 防护(Flask-WTF CSRFProtect)
- ✅ 新增会话安全配置(HttpOnly + Secure + SameSite=Lax)
- ✅ 新增安全审计日志(`data/logs/security.log`)
## 🛡️ CLI 管理工具
- ✅ 新增 `flask unlock-admin` 应急解锁命令
- ✅ 新增 `flask reset-account` 账户初始化重置命令
- ✅ 加固 `flask create-admin` 命令,限制仅无用户时可执行
## 🔒 安全增强
- ✅ 密码存储升级为 bcrypt 算法(rounds=12),兼容旧 pbkdf2 自动迁移
- ✅ Settings 页面 API 密钥脱敏显示(password 类型 + 显示/隐藏切换)
- ✅ 所有表单和 AJAX 请求添加 CSRF Token
- ✅ 新增 429 限流友好中文提示页面
- ✅ 登录页锁定状态:禁用密码输入 + 实时倒计时 + 自动刷新解锁
## 📁 项目结构调整
- ✅ 新增 `app/auth.py` 认证蓝图(登录/设置/MFA/密码管理)
- ✅ 新增 `app/templates/auth/` 认证模板目录(8个模板文件)
- ✅ 新增 `app/templates/errors/429.html` 限流错误页面
- ✅ 新增 `data/logs/` 安全审计日志目录
## 📋 安装说明
可通过以下方式获取此版本:
1. 直接下载源码包
2. 使用git: `git clone -b v1.4 https://github.com/chiupam/invoiceOCR.git`
3. Docker: `docker pull chiupam/invoice-ocr:v1.4`(如果已发布)