Ключи и секреты
Урок 6 из 26 курса «Вайбкодинг: курс с нуля». Бесплатно, с анимациями и тестом.
Что такое API-ключ
API: способ, которым твоя программа общается с чужим сервисом, например с ИИ-моделью. API-ключ: пароль для этого общения. По нему сервис понимает, что запрос от тебя, и, если сервис платный, списывает деньги с твоего аккаунта. Ловушка: всё, что лежит в коде страницы, любой посетитель увидит через «Просмотр кода страницы».
Фронтенд и сервер
Фронтенд: всё, что загружается в браузер посетителя, то есть страница, кнопки и их код. Его может прочитать любой. Сервер (бэкенд): компьютер в интернете, где работает твоя программа. Его код посетитель не видит. Отсюда правило: секреты живут только на сервере. Браузер просит сервер, сервер с ключом обращается к сервису и отдаёт браузеру только результат.
Никогда во фронтенде
Ключ в коде страницы или в публичном репозитории быстро находят боты. Репозиторий: папка проекта со всей историей изменений, например на GitHub. Публичный значит, что его видит весь интернет. Боты сканируют такие места автоматически, и за чужие запросы заплатишь ты. Поэтому запросы с ключом делает сервер, а браузер получает только результат.
Git помнит всё
Git: программа, которая хранит историю версий проекта. Каждое сохранение в нём называется коммитом. Ловушка в том, что Git помнит всё. Если ключ однажды попал в коммит, он остаётся в истории, даже если потом удалить его из файла. Поэтому файл с ключами вообще не должен попадать в Git. Как этого добиться, на следующем слайде.
Где хранить ключи
На своём компьютере ключи держат в файле .env: это простой текстовый файл с настройками. Его имя вписывают в .gitignore, список файлов, которые Git должен игнорировать. Так .env не попадёт в Git. На хостинге, то есть сервисе, где живёт твой сайт, ключи кладут в раздел секретов. Утёк ключ? Сразу отзови его в кабинете сервиса и создай новый.
Проверь себя
- Где можно хранить API-ключ?
Правильный ответ: В секретах хостинга или в .env. Ключ не должен попадать в браузер и в Git. Спрятанный в коде страницы ключ всё равно виден через «Просмотр кода». - Зачем .env добавляют в .gitignore?
Правильный ответ: Чтобы ключи из .env не попали в Git. .gitignore говорит Git: этот файл не сохраняй. Так ключи не окажутся в истории проекта. - Ключ случайно утёк. Первое действие?
Правильный ответ: Отозвать его и создать новый. Ключ уже могли скопировать, и удаление или скрытие этого не отменит. Отозванный ключ перестаёт работать у всех.
← Сначала план: ТЗ на одну страницу Git: сохранения как в игре →