安全增强: - 新增 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>
166 lines
3.7 KiB
JSON
166 lines
3.7 KiB
JSON
{
|
|
"_email-BghJNgj1.js": {
|
|
"file": "assets/email-BghJNgj1.js",
|
|
"name": "email",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"_tasks-Cx_Yf55V.js": {
|
|
"file": "assets/tasks-Cx_Yf55V.js",
|
|
"name": "tasks",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"_update-D34iQbO6.js": {
|
|
"file": "assets/update-D34iQbO6.js",
|
|
"name": "update",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"_users-DCcrmSwH.js": {
|
|
"file": "assets/users-DCcrmSwH.js",
|
|
"name": "users",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"index.html": {
|
|
"file": "assets/index-C9w-iZIr.js",
|
|
"name": "index",
|
|
"src": "index.html",
|
|
"isEntry": true,
|
|
"dynamicImports": [
|
|
"src/pages/ReportPage.vue",
|
|
"src/pages/UsersPage.vue",
|
|
"src/pages/FeedbacksPage.vue",
|
|
"src/pages/LogsPage.vue",
|
|
"src/pages/AnnouncementsPage.vue",
|
|
"src/pages/EmailPage.vue",
|
|
"src/pages/SecurityPage.vue",
|
|
"src/pages/SystemPage.vue",
|
|
"src/pages/SettingsPage.vue"
|
|
],
|
|
"css": [
|
|
"assets/index-_5Ec1Hmd.css"
|
|
]
|
|
},
|
|
"src/pages/AnnouncementsPage.vue": {
|
|
"file": "assets/AnnouncementsPage-DEX_yASt.js",
|
|
"name": "AnnouncementsPage",
|
|
"src": "src/pages/AnnouncementsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/AnnouncementsPage-CjcC-aWD.css"
|
|
]
|
|
},
|
|
"src/pages/EmailPage.vue": {
|
|
"file": "assets/EmailPage-Cev_X_Ce.js",
|
|
"name": "EmailPage",
|
|
"src": "src/pages/EmailPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_email-BghJNgj1.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/EmailPage-BH6ksrcc.css"
|
|
]
|
|
},
|
|
"src/pages/FeedbacksPage.vue": {
|
|
"file": "assets/FeedbacksPage-BKxylUkG.js",
|
|
"name": "FeedbacksPage",
|
|
"src": "src/pages/FeedbacksPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/FeedbacksPage-BKNQYWPz.css"
|
|
]
|
|
},
|
|
"src/pages/LogsPage.vue": {
|
|
"file": "assets/LogsPage-CemQ-Y_T.js",
|
|
"name": "LogsPage",
|
|
"src": "src/pages/LogsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_users-DCcrmSwH.js",
|
|
"_tasks-Cx_Yf55V.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/LogsPage-Cmm-qHAH.css"
|
|
]
|
|
},
|
|
"src/pages/ReportPage.vue": {
|
|
"file": "assets/ReportPage-D6vDD1zK.js",
|
|
"name": "ReportPage",
|
|
"src": "src/pages/ReportPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_email-BghJNgj1.js",
|
|
"_tasks-Cx_Yf55V.js",
|
|
"_update-D34iQbO6.js"
|
|
],
|
|
"css": [
|
|
"assets/ReportPage-CSbGJlZV.css"
|
|
]
|
|
},
|
|
"src/pages/SecurityPage.vue": {
|
|
"file": "assets/SecurityPage-DGvsGoGa.js",
|
|
"name": "SecurityPage",
|
|
"src": "src/pages/SecurityPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/SecurityPage-CH3QeiaV.css"
|
|
]
|
|
},
|
|
"src/pages/SettingsPage.vue": {
|
|
"file": "assets/SettingsPage-Bw1ItHlK.js",
|
|
"name": "SettingsPage",
|
|
"src": "src/pages/SettingsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/SettingsPage-DGdwb4W2.css"
|
|
]
|
|
},
|
|
"src/pages/SystemPage.vue": {
|
|
"file": "assets/SystemPage-RgAQwtHu.js",
|
|
"name": "SystemPage",
|
|
"src": "src/pages/SystemPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_update-D34iQbO6.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/SystemPage-BjTkcmTG.css"
|
|
]
|
|
},
|
|
"src/pages/UsersPage.vue": {
|
|
"file": "assets/UsersPage-CFbr6Y3k.js",
|
|
"name": "UsersPage",
|
|
"src": "src/pages/UsersPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_users-DCcrmSwH.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/UsersPage-CC4Unpwt.css"
|
|
]
|
|
}
|
|
} |