安全增强: - 新增 SSRF、XXE、模板注入、敏感路径探测检测规则 - security/constants.py: 添加新的威胁类型和检测模式 - security/threat_detector.py: 实现新检测逻辑 删除密码重置申请功能: - 移除 /api/password_resets 相关API - 删除 password_reset_requests 数据库表 - 前端移除密码重置申请页面和菜单 - 用户只能通过邮��找回密码,未绑定邮箱需联系管理员 登录提醒全局开关: - email_service.py: 添加 login_alert_enabled 字段 - routes/api_auth.py: 检查开关状态再发送登录提醒 - EmailPage.vue: 添加新设备登录提醒开关 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
123 lines
2.9 KiB
JSON
123 lines
2.9 KiB
JSON
{
|
|
"_accounts-CTfB-Ncr.js": {
|
|
"file": "assets/accounts-CTfB-Ncr.js",
|
|
"name": "accounts",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"_auth-WsWSY0rn.js": {
|
|
"file": "assets/auth-WsWSY0rn.js",
|
|
"name": "auth",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"index.html": {
|
|
"file": "assets/index-CEOd73lG.js",
|
|
"name": "index",
|
|
"src": "index.html",
|
|
"isEntry": true,
|
|
"dynamicImports": [
|
|
"src/pages/LoginPage.vue",
|
|
"src/pages/RegisterPage.vue",
|
|
"src/pages/ResetPasswordPage.vue",
|
|
"src/pages/VerifyResultPage.vue",
|
|
"src/pages/AccountsPage.vue",
|
|
"src/pages/SchedulesPage.vue",
|
|
"src/pages/ScreenshotsPage.vue"
|
|
],
|
|
"css": [
|
|
"assets/index-CD3NfpmF.css"
|
|
]
|
|
},
|
|
"src/pages/AccountsPage.vue": {
|
|
"file": "assets/AccountsPage-D3IUho1c.js",
|
|
"name": "AccountsPage",
|
|
"src": "src/pages/AccountsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_accounts-CTfB-Ncr.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/AccountsPage-CkDdMK5Q.css"
|
|
]
|
|
},
|
|
"src/pages/LoginPage.vue": {
|
|
"file": "assets/LoginPage-x4LlIM56.js",
|
|
"name": "LoginPage",
|
|
"src": "src/pages/LoginPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-WsWSY0rn.js"
|
|
],
|
|
"css": [
|
|
"assets/LoginPage-C_sxX_84.css"
|
|
]
|
|
},
|
|
"src/pages/RegisterPage.vue": {
|
|
"file": "assets/RegisterPage-BBedBh-y.js",
|
|
"name": "RegisterPage",
|
|
"src": "src/pages/RegisterPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-WsWSY0rn.js"
|
|
],
|
|
"css": [
|
|
"assets/RegisterPage-yylt2w7b.css"
|
|
]
|
|
},
|
|
"src/pages/ResetPasswordPage.vue": {
|
|
"file": "assets/ResetPasswordPage--Vqm02p7.js",
|
|
"name": "ResetPasswordPage",
|
|
"src": "src/pages/ResetPasswordPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-WsWSY0rn.js"
|
|
],
|
|
"css": [
|
|
"assets/ResetPasswordPage-DybfLMAw.css"
|
|
]
|
|
},
|
|
"src/pages/SchedulesPage.vue": {
|
|
"file": "assets/SchedulesPage-Cln6Gk1v.js",
|
|
"name": "SchedulesPage",
|
|
"src": "src/pages/SchedulesPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_accounts-CTfB-Ncr.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/SchedulesPage-DwfusXou.css"
|
|
]
|
|
},
|
|
"src/pages/ScreenshotsPage.vue": {
|
|
"file": "assets/ScreenshotsPage-BeyAIC93.js",
|
|
"name": "ScreenshotsPage",
|
|
"src": "src/pages/ScreenshotsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/ScreenshotsPage-D_cIxhyX.css"
|
|
]
|
|
},
|
|
"src/pages/VerifyResultPage.vue": {
|
|
"file": "assets/VerifyResultPage-Ci85Um-V.js",
|
|
"name": "VerifyResultPage",
|
|
"src": "src/pages/VerifyResultPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/VerifyResultPage-CG6ZYNrm.css"
|
|
]
|
|
}
|
|
} |