API Key 是什么?为什么不能写在前端代码里?
API Key 是调用方身份的密钥凭证,服务端用它鉴权、限流和计费;前端代码和网络请求对任何用户可见,Key 写进去等于公开账户密码,会被扫描盗刷。
完整回答
正确架构是浏览器只请求自己的后端,后端从环境变量读 Key 再调模型,顺便做鉴权、限流和日志脱敏。本地开发用 .env 并加入 .gitignore,生产用部署平台的环境变量或密钥管理,不同环境用独立、最小权限的 Key。一旦泄露,立即在平台后台吊销换新并核对用量账单。
加分信息
- 能说出泄露后的处置顺序:吊销、轮换、查账单
- 指出 NEXT_PUBLIC_ 变量会被打进浏览器 bundle
常见问题
- 以为 NEXT_PUBLIC_ 前缀的变量是后端变量
- Key 提交到 Git 后只删最新提交,忽略历史仍可恢复
面试官可能追问
- 本地 .env 和生产环境变量分别怎么管?
- Key 疑似泄露后的第一步是什么?
结合 Prompt 调试与回归台:模型调用只发生在服务端,Key 存环境变量,前端不出现任何凭证。