用途:为 Web 开发提供基础安全模式,在涉及用户输入、身份认证或敏感数据时使用。
主要能力与要点:
- 环境变量:敏感配置写入 .env 且不提交,.gitignore 忽略 .env、.env.local、.env.*.local;读取时校验,如 const dbUrl = process.env.DATABASE_URL; 缺失则抛错。
- XSS 防护:避免 element.innerHTML = userInput;优先用 element.textContent;必须渲染 HTML 时用 DOMPurify.sanitize(userInput)。
- SQL 注入防护:避免字符串拼接查询;使用参数化查询(如 prisma.user.findUnique)或预处理语句 db.execute('SELECT * FROM users WHERE id = ?', [userId])。
- 身份认证:用 bcrypt 哈希密码(bcrypt.hash(password, 12))并比对;JWT 设置过期时间,如 jwt.sign({ userId: user.id }, process.env.JWT_SECRET, { expiresIn: '1h' })。
- 输入校验:用 zod 定义 schema(email、password 最小 8 位、age 范围),通过 safeParse 校验后再使用。
- HTTPS 与响应头:使用 helmet() 设置安全头;CORS 限定 origin 并配置 credentials。
- 限流:用 express-rate-limit,例如 windowMs 15 分钟、max 100,挂载到 /api。
参考:OWASP Top 10、Node.js Security Checklist。
限制:资料未提供具体安装命令、版本要求、收费信息或平台支持范围,暂未提供。