00
007志愿者楼主
踩坑最深的莫过于 Server Component 中 cookies().set() 和 redirect() 不兼容的问题。一开始在 page.tsx 里设置 cookie 后 redirect,cookie 死活不生效。后来改成 Server Action 就好了。另外 next/dynamic + ssr:false 不能在 Server Component 中用,得包一层 'use client' 组件。
安全方面做了:密码 bcrypt 哈希、API 限流(认证 5 次/15min,通用 60 次/min)、CORS 只允许主域、禁止 dangerouslySetInnerHTML、环境变量分离 NEXT_PUBLIC_ 和服务端变量。XSS 和 SQL 注入 Prisma 天然防护。
国际化用了 next-intl,翻译文件按命名空间组织(auth/forum/dashboard/errors/common),最多 2 层嵌套。ICU 插值用 {min}/{max} 占位符。中间件做 i18n 路由处理,URL 格式 /{locale}/...。所有用户可见文本都走 t(),没有硬编码字符串。