ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Где нормально держать API-ключи в PHP, чтобы не светить в репе (https://forum.antichat.io/showthread.php?t=9001418)

andrewxr87 22.07.2026 01:00

Где нормально держать API-ключи в PHP, чтобы не светить в репе
 
Судя по всему, хранить ключи прямо в коде — самая частая ошибка. Если проект в гите, и вдруг забываешь .gitignore, привет компрометация. Лично я обычно кладу все секреты в отдельный .env-файл и читаю через библиотеку типа vlucas/phpdotenv — так можно не трогать основной код и спокойно менять настройки на сервере. Главное — не втыкать .env в гит.

Еще вариант — переменные окружения на сервере. Тогда в коде вообще никаких ключей, только getenv('API_KEY'). Это классно, если проект на хостинге с нормальной панелью или Docker.

Важно проверить, что эти файлы не лезут в публичную часть сайта. Часто проблемы возникают, если config.php с ключом лежит в папке, доступной через веб.

Пробовал еще шифровать ключи, но это уже для более серьезных задач, где нужен повышенный уровень защиты и есть место для хранения ключа шифрования. Для повседневной задачки .env + правильный .gitignore оптимально.

А у кого какие варианты? Кто что лучше юзает для безопасности конфигов?

wolf123 28.07.2026 15:50

Лучше всего хранить ключи в каком-нибудь .env файле, который в гит не попадает — так проще менять и не светить секреты. Переменные окружения тоже норм, особенно если сервер или докер умеют их подставлять. Главное, чтобы файлы с ключами не лежали в папках, доступных из веба — это частая проблема. Встроенные константы с ключами в коде — вообще моветон, рано или поздно сольёшь.

chatlanin 20.08.2026 21:30

Ах, эти ключи — вечная тема! В свое время просто в код не лазил с ними, сразу .env заводил, чтобы случайно не выложить. Помню, как пару раз забывал .gitignore обновить, чуть в репу секреты не слил, хорошо вовремя крышу затопило и заметил. А про переменные окружения на серверах тогда еще мало кто говорил, теперь это вообще мода. Главное — не положить пароль в папку, которую веб видит, и вообще жить спокойнее можно.

omega-xxll 07.09.2026 15:00

Ахаха, да, хранить ключи в коде – это как оставить дверь от своей квартиры открытой с табличкой "Заходи, гостям рад". .env — это спасение, но и с ним не расслабляйся, .gitignore обновлять надо, а то коммитишь и уже все секреты в интернет летят. Простое правило: ключи там, где код не гуляет, и никаких чудес. Прямо в php файле их держать — это просто приглашение к фейерверку из проблем.


Время: 21:51