深度优化: 修复跨服务器登录、密码哈希、仪表盘UI、流量趋势等12项问题
### 严重修复 1. 跨服务器无法登录 - 新增SESSION_COOKIE_DOMAIN/SECURE/NAME配置 2. SOCKS5用户密码明文存储→bcrypt哈希(兼容自动迁移) 3. 仪表盘审计日志不显示→替换为空循环为真实API加载 4. 管理员登录防爆破未生效→auth.py集成check_fail2ban ### 中等问题修复 5. 流量趋势图表无数据→新增record_traffic_snapshot后台线程 6. 网络流量累计值跳变→新增基线差值机制 7. asyncio连接计数非线程安全→加锁保护 ### 优化改进 8. API密钥页面截断文本修复 9. 新增gunicorn/bcrypt依赖 10. 更新README环境变量文档和生产建议 11. 登录密码常量时间对比防时序攻击 12. 仪表盘图表添加animation:false防卡顿
This commit is contained in:
@@ -66,6 +66,10 @@ python3 run.py
|
||||
|------|--------|------|
|
||||
| `SM_ADMIN_USER` | `admin` | 管理员用户名 |
|
||||
| `SM_ADMIN_PASSWORD` | `""` | 管理员密码(必须设置) |
|
||||
| `SM_SECRET_KEY` | `sm-dev-key-change-in-prod` | Flask 会话密钥(生产环境务必修改) |
|
||||
| `SM_SESSION_DOMAIN` | `None` | 会话 Cookie 域名(跨域访问时设置) |
|
||||
| `SM_COOKIE_SECURE` | `false` | Cookie Secure 标志(HTTPS 时设为 true) |
|
||||
| `SM_SESSION_NAME` | `sm_session` | 会话 Cookie 名称 |
|
||||
| `SM_DB_URI` | `sqlite:///socks_manager.db` | 数据库连接串 |
|
||||
| `SM_PORT` | `5000` | Web 面板端口 |
|
||||
| `SM_HOST` | `0.0.0.0` | 监听地址 |
|
||||
@@ -126,7 +130,10 @@ python3 run.py
|
||||
|
||||
## 生产建议
|
||||
|
||||
- 使用 gunicorn/uwsgi 替代内置开发服务器
|
||||
- 使用 gunicorn 替代内置开发服务器:`gunicorn -w 4 -b 0.0.0.0:5000 run:app`
|
||||
- 前置 Nginx 反向代理 + Let's Encrypt SSL
|
||||
- 设置 `SM_COOKIE_SECURE=true`(HTTPS 时)
|
||||
- 设置 `SM_SECRET_KEY` 为随机字符串
|
||||
- 设置 `SM_SESSION_DOMAIN` 为你的域名(跨机器访问时)
|
||||
- 定期备份 `socks_manager.db`
|
||||
- 配置 `SM_LOG_LEVEL=WARN` 减少日志量
|
||||
|
||||
Reference in New Issue
Block a user