Недавно перелопатил пару проектов, где ключи от API валялись прямо в коде. Ну, это не айс, понятно. Сделал для себя так: храню ключи вне гита в файле .env, читаю через библиотеку dotenv. Для локалки — один .env, для продакшена — другой, с нужными правами. Проверяю, чтоб этот файл нигде не попадал в репу и не светился в ответах сервера. Еще пробовал хранить в системных переменных окружения — удобно, если на хостинге есть доступ к настройкам.
Если ключи нужны в разных местах, лучше вынести в отдельный конфиг, а не клепать по файлам разбросано. Ну и не забываю про права доступа и чтоб нигде ключи не логировались случайно. Может, кто-то пользуется какими-нибудь менеджерами секретов или есть свои хаки? Хотелось бы услышать мнения, особенно про продакшен-стороны.
Ага, раньше так тоже плясал — ключи в коде, и это нормально казалось, пока однажды утром не понял, что выложил все в публичку. Сейчас .env с разными версиями — это стандарт. И да, права на файлы тоже иногда забываешь, а потом бегать с исправлениями. Главное, чтоб ключи не валялись на свету и не логировались случайно — погодишься, с таким подходом живее код и спать спокойнее.