用途:这是一份 NestJS 安全实践技能,用于在 NestJS 项目中实施 CORS、CSRF 防护、Helmet 安全头、限流、加密与哈希、输入校验、API 端点保护与安全中间件,并防范常见 Web 漏洞。
主要能力:CORS 支持基础、动态及配合 ConfigService 的配置;CSRF 使用 csurf 与 cookie-parser 并提供令牌接口;Helmet 配置 CSP、HSTS、frameguard 等;限流通过 @nestjs/throttler 支持全局、按路由、跳过与 Redis 存储;加密与哈希包含 bcrypt 密码哈希、crypto 的 AES-256-GCM 加解密、SHA-256 令牌哈希与安全令牌生成;输入校验使用 class-validator 与全局 ValidationPipe,清洗用 class-sanitizer 与 sanitize-html;还含安全中间件、API Key 守卫、环境变量校验、SQL 注入与 XSS 防范及安全清单。
使用方式:按需安装依赖,例如 npm install csurf cookie-parser、npm install helmet、npm install @nestjs/throttler、npm install bcrypt、npm install @nestjs/throttler-storage-redis ioredis、npm install class-sanitizer、npm install sanitize-html。在 main.ts 与 app.module.ts 中启用 CORS、Helmet、ValidationPipe、限流守卫与 ConfigModule 校验;密码用 bcrypt,敏感数据用 crypto,令牌用 SHA-256,查询使用参数化或 ORM。
适用场景与限制:适合需要加固接口的 NestJS 后端。资料未说明版本兼容性、性能开销、部署细节、收费与平台限制;部分代码示例需按实际环境调整,密钥与配置应通过环境变量管理,切勿提交敏感文件。