~/VibeHandbook
免費 PDF

16 · 03

環境變數與金鑰

你的程式碼需要 key、資料庫 和各種 token。這些絕不能被提交到你的倉庫裡。金鑰一旦進了 歷史,實際上就等於永遠公開了——在後來的提交裡刪掉那一行並不會把它從歷史中抹去,而機器人會在幾分鐘內爬取新的公開倉庫來尋找洩露的 key。兩條規則能讓你受用很久:

  • 在本地把金鑰放在一個 .env 檔案裡,並確保 .env 在你的 .gitignore 中。
  • 在託管平臺的控制面板裡(或通過 ——Command-Line Interface,命令列介面,那個讓你敲命令而非點選的文字提示視窗)把同樣的值設定為生產環境的環境變數。
# .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 可能讓你失去資料庫裡的一切。

想離線閱讀?

免費下載整本書的 PDF 或 EPUB。