Как я могу зашифровать или скрыть пароли в скрипте Perl, используемом для подключения к базе данных mysql - PullRequest
6 голосов
/ 09 февраля 2011

Мне было интересно, как лучше хранить имена пользователей и пароли для подключения к базе данных mysql?

Ответы [ 3 ]

13 голосов
/ 09 февраля 2011

Простой и безопасный способ - если вы все сделаете правильно - это с помощью файла конфигурации.Строка соединения DBI / DBD MySQL будет выглядеть примерно так:

dbi:mysql:my_dbname;mysql_read_default_file=/NON-WEB/path/to/.my.cnf

- и вы не передадите ни пользователя, ни пароль для вызова соединения DBI.

Файл .my.cnf будет иметьпароль.Вот несколько способов сохранить эту безопасность:

  • Файл доступен только для и доступен для чтения веб-пользователем.
  • Файл находится вне корневого веб-каталога;посещение URL-адреса не может его достичь.
  • Файл конфигурации содержит минимум для подключения, ему, например, не нужно имя пользователя.
  • Убедитесь, что в вашем приложении нет эксплойтов.это может разрешить просмотр вашей файловой системы.
  • У учетной записи mysql веб-пользователя есть ограниченные привилегии: нет предоставления, нет создания, удаления таблиц и т. д. и т. д.
0 голосов
/ 09 февраля 2011

Просто нет способа безопасно сохранить имя пользователя / пароль.Поскольку в конце ваш сценарий всегда должен иметь возможность получать данные, любой другой может пойти по тому же пути.

Если вы храните данные в зашифрованном виде, вы должны сообщить своему сценарию ключ для расшифровки.Так что, если кто-то читает сценарий, он получает ключ.Но в случае CGI-среды скрипт всегда должен быть доступен для чтения веб-сервером.

Если вы не находитесь в CGI-среде или запущен какой-то материал suExec, вы можете обойти это ограничение, установивправа доступа сценария / файла конфигурации, чтобы никто, кроме исполняющего пользователя, не мог читать файлы.

Это безопасно, пока не придет какой-нибудь администратор и не захочет узнать, что там, или кто-то взломает вашу учетную запись.

0 голосов
/ 09 февраля 2011

См. Главу Настройка программ на Perl из Мастеринг Perl .

(ссылка только из-за ограничений копирования).)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...