#python #mysql-python
#python #mysql-python
Вопрос:
Я создаю программу на Python, которую я хотел бы распространять. Я также хотел бы иметь базу данных MySQL, в которой хранились бы имена пользователей, хэшированные и зашифрованные пароли для каждого регистрируемого пользователя. Как я могу подключиться к базе данных, если никто не сможет открыть исходный код и посмотреть учетные данные для подключения к базе данных?
Комментарии:
1. Вы никогда не добавляете какие-либо учетные данные или конфигурации, подобные этому, в исходный код! вы должны перенести его в отдельный файл конфигурации и загрузить во время выполнения.
2. Если вашей программе необходимо подключиться к базе данных, у нее должны быть какие-то учетные данные. Вы могли бы предоставить пользователю ограниченные привилегии в БД: возможно, они могут получить доступ только к определенным таблицам и могут только запрашивать / вставлять и обновлять. Или оберните сервер базы данных в другое серверное приложение с его собственными учетными данными для входа, чтобы ваши пользователи входили в серверное приложение, но только серверное приложение имеет прямой доступ к БД. Поиск в Google «защита учетных данных базы данных для настольных приложений» даст вам много возможностей для продолжения — этот вопрос задавался ранее на различных сайтах stackexchange.
3. @snakecharmerb спасибо, как вы думаете, использование сокетов python было бы хорошим способом обернуть базу данных
Ответ №1:
Если вы используете git, вы можете сохранить учетные данные в файле json, используя json python packpage и ввести имя файла .gitignore
. Итак, тому, кто клонирует ваш репозиторий, потребуется создать файл json для работы скрипта, вы также можете создать README.md
объяснение, как это сделать