~/VibeHandbook

Глава 11 · 03

Переменные окружения и секреты

Вашему коду нужны API-ключи, URL базы данных и токены. Их нельзя коммитить в репозиторий. Как только секрет попал в историю git, он фактически публичен навсегда — удаление строки в более позднем коммите не убирает его из истории, а боты прочёсывают новые публичные репозитории в поисках утёкших ключей за минуты. Два правила далеко вас уведут:

  • Держите секреты в файле .env локально и убедитесь, что .env есть в вашем .gitignore.
  • Задайте те же значения как переменные окружения в панели управления хостинга (или через CLI) для продакшена.
# .env  (только локально — никогда не коммитьте это)
DATABASE_URL=postgres://localhost:5432/app
STRIPE_SECRET_KEY=sk_test_xxx
SESSION_SECRET=change-me

# Задайте продакшен-эквиваленты на хостинге
wrangler secret put STRIPE_SECRET_KEY
vercel env add STRIPE_SECRET_KEY production

Поддерживайте закоммиченный .env.example, перечисляющий имена (не значения) каждой переменной, чтобы и будущий вы, и AI знали, чего ожидает приложение. Обратите внимание на префикс sk_test_ выше — держите тестовые и боевые ключи чётко различимыми и никогда не оставляйте боевой ключ в локальном .env, который вы можете вставить в чат. Если вы когда-нибудь вставите секрет в чат или случайно закоммитите его — считайте его скомпрометированным и немедленно ротируйте: сгенерируйте новый ключ в панели провайдера, обновите его повсюду и отзовите старый. Ротация стоит вам пяти минут; утёкший URL базы данных может стоить всего, что есть в базе.

Хотите офлайн-версию?

Получите PDF + EPUB + скачиваемую библиотеку промптов + обновления версий.

$ Получить PDF — $39