Как лучше запрятать важные данные в коде?
Как лучше запрятать данные в коде от злых рук и глаз (хакеров) к примеру данные от API платежных систем?
Дополнительно:
вообще в env файлах, тут подробно можешь почитать
https://5minphp.ru/episode66/
Ответы:
Данные от api платежных систем не надо хранить в коде.
Все.
- А где тогда? бд тоже не безопасное место
- Артем Гартунг, это вообще отдельный вопрос.
- в переменных окружения
- на всяких конфиг-серверах. (как по мне - лучшее решение) Например, https://www.vaultproject.io/
- в конфиг-файлах с ограниченным доступом
- в переменных на сборочных конвеерах (так-себе решение, имхо)
- в бд, кстати, тоже можно, но тоже с ограничением по доступуНадо понимать,что код, как правило, храниться в гите, а это не самое надежное место для чувствительной информации.
- Dmitry Roo, в гит хабе я ничего не храню) только хостинг и не более
- Лучше хранить отдельным файлом подальше от кода.
И вытаскивать только в тот момент когда оно нужно.
Хотя-бы в отдельной папке с определенными правами или отдельной базе данных, все сохранение будет.
Свою клиентскую часть платежной системы делаешь как отдельный микросервис со своим локальным API и используешь на более подготовленном серверном окружении с точки зрения безопасности.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для защиты важных данных в коде, таких как пароли, ключи API или другие конфиденциальные информации, можно использовать различные методы шифрования и скрытия. Ниже приведены некоторые из них:
1. Использование переменных среды: Вместо хранения важных данных непосредственно в коде, можно задать их как переменные среды на сервере. Это позволит скрыть данные от посторонних глаз и обеспечит безопасность.
2. Шифрование данных: Перед хранением важных данных в коде можно зашифровать их с использованием специальных алгоритмов шифрования. При необходимости данные можно расшифровать обратно для использования.
3. Использование файлов конфигурации: Создание отдельного файла конфигурации, в котором будут храниться все важные данные, исключит необходимость хранения их в основном коде.
4. Использование специальных библиотек: Для работы с конфиденциальными данными можно воспользоваться специальными библиотеками и инструментами, которые обеспечат безопасное хранение и обработку информации.
Пример использования переменных среды для хранения пароля в PHP:
$pdo = new PDO('mysql:host=localhost;dbname=test', $_ENV['DB_USER'], $_ENV['DB_PASS']);
Эти методы помогут обеспечить безопасность ваших данных и предотвратить их утечку.