SuperAPI AI 工具集

nextjs-security

前端与建站

查看项目

更新于 10-15 22:13

技能介绍

用途:为 Next.js App Router 应用加固安全,优先级标注为 P0(关键)。

主要能力与用法:

  1. 认证中间件:用 middleware.ts 在边缘侧验证 JWT/session,保护受保护路由,并可做基于角色的访问控制(RBAC)。
  2. Server Actions 校验:所有来自 FormData 或 JSON 的输入都必须用 Zod schema 清洗校验,并在每个 action 内先调用 await auth() 验证调用方。
  3. 安全响应头:在 middleware 响应中设置 CSP、HSTS、X-Frame-Options、X-XSS-Protection 等。
  4. server-only:在含密钥的模块引入,防止后端逻辑被打包进客户端。
  5. 数据污点:用实验性 API taintObjectReference,阻止服务端敏感对象(如带 passwordHash 的 User)泄漏到客户端组件。
  6. Route Handlers(route.ts):实现限流以防暴力破解或 DoS,校验 Origin/Referer 头以缓解 CSRF。
  7. 认证令牌:严格使用 HttpOnly、Secure、SameSite: 'Lax' 的 cookie,不要存入 localStorage。
  8. 组件纯净:转义所有用户提供内容;未经 DOMPurify 等清洗不得使用 dangerouslySetInnerHTML。

反模式:不向客户端泄漏数据库字段(用 DTO,不传原始模型对象);不在客户端 bundle 暴露 process.env(仅确认安全才用 NEXT_PUBLIC_ 前缀);不跳过 Server Action 输入校验;不在共享 Layout 做鉴权,应改用中间件。

适用场景:Next.js App Router 项目的认证、服务端操作、安全头与敏感数据隔离场景。限制:资料未提供具体版本要求、安装命令、代码示例细节与兼容性说明。