## 安全增强 - 添加 CSRF 防护机制(Double Submit Cookie 模式) - 增强密码强度验证(8字符+两种字符类型) - 添加 Session 密钥安全检查 - 修复 .htaccess 文件上传漏洞 - 统一使用 getSafeErrorMessage() 保护敏感错误信息 - 增强数据库原型污染防护 - 添加被封禁用户分享访问检查 ## 功能修复 - 修复模态框点击外部关闭功能 - 修复 share.html 未定义方法调用 - 修复 verify.html 和 reset-password.html API 路径 - 修复数据库 SFTP->OSS 迁移逻辑 - 修复 OSS 未配置时的错误提示 - 添加文件夹名称长度限制 - 添加文件列表 API 路径验证 ## UI/UX 改进 - 添加 6 个按钮加载状态(登录/注册/修改密码等) - 将 15+ 处 alert() 替换为 Toast 通知 - 添加防重复提交机制(创建文件夹/分享) - 优化 loadUserProfile 防抖调用 ## 代码质量 - 消除 formatFileSize 重复定义 - 集中模块导入到文件顶部 - 添加 JSDoc 注释 - 创建路由拆分示例 (routes/) ## 测试套件 - 添加 boundary-tests.js (60 用例) - 添加 network-concurrent-tests.js (33 用例) - 添加 state-consistency-tests.js (38 用例) - 添加 test_share.js 和 test_admin.js ## 文档和配置 - 新增 INSTALL_GUIDE.md 手动部署指南 - 新增 VERSION.txt 版本历史 - 完善 .env.example 配置说明 - 新增 docker-compose.yml - 完善 nginx.conf.example Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
/**
|
|
* 健康检查和公共配置路由
|
|
* 提供服务健康状态和公共配置信息
|
|
*/
|
|
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const { SettingsDB } = require('../database');
|
|
|
|
/**
|
|
* 健康检查端点
|
|
* GET /api/health
|
|
*/
|
|
router.get('/health', (req, res) => {
|
|
res.json({ success: true, message: 'Server is running' });
|
|
});
|
|
|
|
/**
|
|
* 获取公开的系统配置(不需要登录)
|
|
* GET /api/config
|
|
*/
|
|
router.get('/config', (req, res) => {
|
|
const maxUploadSize = parseInt(SettingsDB.get('max_upload_size') || '10737418240');
|
|
res.json({
|
|
success: true,
|
|
config: {
|
|
max_upload_size: maxUploadSize
|
|
}
|
|
});
|
|
});
|
|
|
|
/**
|
|
* 获取公开的全局主题设置(不需要登录)
|
|
* GET /api/public/theme
|
|
*/
|
|
router.get('/public/theme', (req, res) => {
|
|
try {
|
|
const globalTheme = SettingsDB.get('global_theme') || 'dark';
|
|
res.json({
|
|
success: true,
|
|
theme: globalTheme
|
|
});
|
|
} catch (error) {
|
|
console.error('获取全局主题失败:', error);
|
|
res.status(500).json({
|
|
success: false,
|
|
message: '获取主题失败'
|
|
});
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|