环境变量与密钥
你的代码需要 API key、数据库 URL 和各种 token。这些绝不能被提交到你的仓库里。密钥一旦进了 git 历史,实际上就等于永远公开了——在后来的提交里删掉那一行并不会把它从历史中抹去,而机器人会在几分钟内爬取新的公开仓库来寻找泄露的 key。两条规则能让你受用很久:
- 在本地把密钥放在一个
.env文件里,并确保.env在你的.gitignore中。 - 在托管平台的控制面板里(或通过 CLI)把同样的值设置为生产环境的环境变量。
# .env (local only — never commit this)
DATABASE_URL=postgres://localhost:5432/app
STRIPE_SECRET_KEY=sk_test_xxx
SESSION_SECRET=change-me
# Set the production equivalents on the host
wrangler secret put STRIPE_SECRET_KEY
vercel env add STRIPE_SECRET_KEY production
维护一个会被提交的 .env.example,列出每一个变量的名字(而非值),这样未来的你和 AI 都知道这个应用期望什么。注意上面那个 sk_test_ 前缀——把你的测试 key 和正式 key 清楚地区分开,绝不要让一个正式 key 躺在一个你可能会粘进聊天的本地 .env 里。如果你曾经把一个密钥粘进了聊天,或者不小心提交了一个,就当它已经泄露,并立即轮换它:在服务商控制面板里生成一个新 key,在所有地方更新它,然后吊销旧的。轮换花你五分钟;一个泄露的数据库 URL 可能让你失去数据库里的一切。