setzexe/CyFi

GitHub: setzexe/CyFi

一款基于 Flask 构建的手动个人财务追踪器,让用户在统一仪表板中管理账户、交易和周期性账单。

Stars: 0 | Forks: 0

# CyFi - Cyberseverance 财务追踪器 CyFi 是一款手动个人财务追踪器,旨在让预算管理变得简单:创建您自己的账户、手动输入交易、追踪周期性账单,并从单一仪表板查看总计。 ## 链接 您可以在此处访问该应用程序: [CyFi](https://cyfi-9jzy.onrender.com/login) ## 文档 有关此应用程序的文档,其中包含了关于常规开发和网络安全的更多细节,可以在以下位置找到: [主文档](documentation/documentation.md) [安全文档](documentation/security.md) ## 功能 - 具有安全密码哈希的用户账户 - 针对每个用户的银行账户追踪 - 手动存款和支出 - 周期性账单管理 - 近期活动和完整的交易历史记录 - 安全功能,如会话保护、CSRF 保护和登录速率限制 - 适用于桌面和移动端的交互式响应式 UI ## 重要安全功能 - 密码在存储前使用 Werkzeug 进行哈希处理 - Session cookies 通过 `HttpOnly`、`SameSite` 以及仅在生产环境中生效的 `Secure` 进行加固 - CSRF tokens 保护表单提交和 API 请求 - 账户仅对用户本身独占 - 由于暴力破解,对登录尝试进行速率限制 ## 技术栈 - 后端:Flask, Flask-Migrate, Flask-SQLAlchemy - 数据库:生产环境中使用 PostgreSQL;本地开发中使用 SQLite - 前端:HTML, CSS, & JavaScript - 部署:Render ## 本地设置 可以通过上面的链接运行,也可以从您的 localhost 进行部署。 1. 创建并激活虚拟环境。 2. 使用 `pip install -r requirements.txt` 安装依赖项。 3. 创建一个 `.env` 文件。已提供 `.env.example`。 4. 使用 `flask db upgrade` 运行数据库迁移。 5. 使用 `flask run` 启动应用程序。 ## 环境变量 创建一个包含以下值的 `.env` 文件: - `SECRET_KEY` - `DATABASE_URL` **本地开发:** 如果未设置 `DATABASE_URL`,将自动使用 SQLite。 ## 部署 CyFi 设置为从 GitHub 部署到 Render。每当 main 更新时,Render 会拉取所有更改并将其更新到构建中。 ## 项目说明 - 该应用程序是纯手动的,不连接到任何银行。 - `documentation/security.md` 中的安全文档更深入地解释了实现细节。 ## 许可证 本项目供个人和教育使用。 setzexe
标签:Flask, PostgreSQL, Python, Supabase, 个人理财, 多模态安全, 数据可视化, 无后门, 测试用例, 记账工具, 逆向工具