-
Notifications
You must be signed in to change notification settings - Fork 10
Home
梁兆本 edited this page Apr 14, 2026
·
2 revisions
一个基于Flask框架开发的智能发票管理系统,支持发票图片上传与OCR识别,提供发票信息管理、数据导出及统计分析等功能。系统采用腾讯云OCR API进行发票文字识别,实现发票信息的智能提取与处理。
- 📤 发票图片和PDF文件上传与预览
- ✏️ 支持手动创建发票,无需上传图片
- 🔍 基于腾讯云OCR API的发票文字识别
- 📄 支持直接识别PDF发票第一页
- 💾 发票数据结构化处理与存储
- 📋 发票列表展示与多维度排序
- 🔎 发票详情查看与编辑
- 📁 项目分类管理功能
- 👁️ 发票图片与PDF预览功能
- 📊 发票数据导出(CSV、Excel格式)
- 📈 发票统计分析与图表展示
- 📱 响应式网页设计,适配多种设备
- ⏱️ 定时任务自动清理过期文件
- 🔐 用户登录认证(bcrypt加密 + 仅密码登录)
- 🛡️ 两步验证(TOTP,兼容Google Authenticator)
- 🔒 账户锁定保护(5次失败锁定15分钟 + 倒计时)
- 🚫 CSRF全局防护 + 请求限流
- 📝 安全审计日志
最新版本 v1.4 (2026.04.14)
🔐 用户认证与安全体系
- ✅ 新增完整的用户登录认证系统(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/安全审计日志目录
查看完整的更新历史请参考 Changelog
- chiupam
✈️ Telegram: @Chiupam- 📧 Email: chiupam@126.com
MIT License