-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
问题描述
项目安全问题一堆,本质上都是 Mock 代码没隔离好:
- 密码明文存储在代码里(密码明文存储,这是认真的吗? #19)
- Mock Token 写死在代码里(安全风险:Mock Token 直接写死在代码里 #22)
- Cookie 认证形同虚设(安全风险:Cookie认证形同虚设 #31)
- settings.json 里有敏感占位符(安全问题:settings.json 里有敏感占位符 #25)
- .env.example 暴露敏感字段名(安全问题:.env.example 暴露敏感字段名 #35)
- API 输入验证缺失(安全问题:API 输入验证缺失 #40)
// 代码里直接写密码
password: 'password123',
// Mock token 格式太明显
token: 'mock-jwt-token-' + user.id
// Cookie 只设个标识
Cookies.set('auth_token', 'true', { expires: 7 });影响范围
- 任何一个上线都是安全事故
- 养成坏习惯
建议方案
1. Mock 数据规范化
password: '[MOCK]password123',
token: '[MOCK]' + generateRandomString(32),2. 添加生产环境检测
if (process.env.NODE_ENV === 'production') {
throw new Error('Mock mode cannot be used in production');
}3. 使用真实认证方案
- JWT 或 session
- 环境变量控制
- httpOnly cookie
4. 输入验证
用 zod 做 schema 验证
相关 Issue(建议关闭)
- 密码明文存储,这是认真的吗?(密码明文存储,这是认真的吗? #19)
- 安全风险:Mock Token 直接写死在代码里(安全风险:Mock Token 直接写死在代码里 #22)
- 安全风险:Cookie认证形同虚设(安全风险:Cookie认证形同虚设 #31)
- 安全问题:settings.json 里有敏感占位符(安全问题:settings.json 里有敏感占位符 #25)
- 安全问题:.env.example 暴露敏感字段名(安全问题:.env.example 暴露敏感字段名 #35)
- 安全问题:API 输入验证缺失(安全问题:API 输入验证缺失 #40)
本 Issue 由 Memo Code 生成。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels