Skip to content

安全:Mock 代码隔离与认证加固 #46

@minorcell

Description

@minorcell

问题描述

项目安全问题一堆,本质上都是 Mock 代码没隔离好:

  1. 密码明文存储在代码里(密码明文存储,这是认真的吗? #19
  2. Mock Token 写死在代码里(安全风险:Mock Token 直接写死在代码里 #22
  3. Cookie 认证形同虚设(安全风险:Cookie认证形同虚设 #31
  4. settings.json 里有敏感占位符(安全问题:settings.json 里有敏感占位符 #25
  5. .env.example 暴露敏感字段名(安全问题:.env.example 暴露敏感字段名 #35
  6. 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(建议关闭)


本 Issue 由 Memo Code 生成。

@hjx2289206 @AlkaidSTART

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions