-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
一、 高风险 - 需立即修复
- 问题: 路由守卫存在严重逻辑缺陷。
- 描述:
PrivateRoute组件仅检查本地是否存在 Token,而未与应用实际的登录状态同步。这可能导致在用户登出后,已登录的页面状态依然可以被访问,存在被绕过的风险。 - 建议: 立即修复此逻辑,确保路由守卫依赖全局的认证状态 (
authStore),而非简单地检查本地存储。
二、 中等风险 - 建议尽快处理
-
问题: 依赖库存在未知的安全漏洞。
- 描述: 由于 npm 镜像源问题,
npm audit命令未能成功执行,导致无法扫描第三方依赖库中可能存在的已知安全漏洞。这是一个潜在的安全隐患。 - 建议: 尽快解决环境问题,执行
npm audit并修复发现的漏洞。
- 描述: 由于 npm 镜像源问题,
-
问题: 使用
localStorage存储 Token 存在安全风险。- 描述: 将身份验证 Token 存储在
localStorage中,使其在发生 XSS (跨站脚本) 攻击时容易被窃取。 - 建议: 长期建议迁移至更安全的
HttpOnlyCookie 方案(需要后端配合)。短期内,必须对所有用户输入进行严格的 XSS 审查。
- 描述: 将身份验证 Token 存储在
三、 低风险 - 建议优化
- API 错误处理: 在处理
401 Unauthorized错误时,使用window.location.href进行重定向会刷新整个页面,影响用户体验。同时,生产环境中应避免使用console.error暴露过多错误细节。 - 文件上传校验: 前端的文件类型和大小限制可以被轻松绕过,必须依赖后端进行严格校验。
- 文档与代码不一致:
README.md中提及的uploadMultipleImages函数在代码中未找到,应保持同步。 - 图片处理: 客户端压缩图片可能存在性能风险,处理不可信来源的图片时也存在一定安全隐患,需确保后端对图片来源和内容进行验证。
- Markdown/HTML 渲染: 当前实现是安全的,因为它默认移除了原始 HTML。但未来若需支持 HTML,务必配合使用
rehype-sanitize插件以防止 XSS 攻击。
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request