教程 · 编程上线
密钥被打进了前端包:先分清公开变量和私密变量
识别构建时被内联到前端的变量,把密钥移到服务端并轮换已泄露的凭证。
前置:项目使用前端构建工具,环境变量通过 .env 文件管理。
材料:项目代码、.env 文件、构建产物、密钥管理后台
材料:项目代码、.env 文件、构建产物、密钥管理后台
步骤
1. 先看构建工具的前缀规则
确认哪些前缀的变量会被打进前端,例如 VITE_ 或 NEXT_PUBLIC_ 开头的变量;带这些前缀的变量等于公开发布。
2. 把密钥只放在服务端
模型密钥、数据库密码和支付密钥只能出现在服务端环境变量里,前端通过自己的接口间接调用;前端代码里没有真正的秘密。
3. 搜一遍打包产物
在构建输出目录里全文搜索密钥片段和关键词,确认没有残留;压缩后的代码同样能被搜到,搜到一处就全部排查。
4. 立刻轮换泄露的密钥
确认泄露后到平台后台作废旧密钥并生成新的,再更新服务端配置;只删代码不轮换,旧密钥仍然有效,换完再搜一次产物。
5. 补上忽略和扫描
把 .env 加入版本控制忽略,提交前用密钥扫描工具检查;已经提交过的历史记录也要清理,否则翻历史仍能看到。
做完检查
- 构建产物中搜不到任何密钥字符串
- .env 文件没有被提交到仓库
- 泄露的密钥已在平台后台作废并更换
常见错误
- 把密钥写进带公开前缀的变量
- 只删代码不轮换密钥
- 以为压缩后的代码里看不到明文
相关工具
同类教程
本地能跑线上 404:先查文件名大小写,再查构建产物
定位大小写、扩展名和路径别名导致的资源 404,用构建产物和大小写敏感环境验证修复。
查看 →单页应用刷新就 404:把未知路径回退到 index.html
配置服务器或托管平台的路由回退规则,让前端路由的深链接刷新和直接访问都能正常打开。
查看 →换台电脑就构建失败:锁 Node 版本再清缓存重装
用版本文件和依赖锁把本地与 CI 的 Node 版本对齐,解决因版本差异导致的构建失败。
查看 →更新时间:2026-10-29 · 平台规则/软件版本会变;操作前保留原件,以实际页面为准。
跨库学习路径
按共同关键词匹配,不是随机推荐;从任务到提示词/教程/项目继续走。