Зашифровать / защитить строку подключения к БД в php - PullRequest
1 голос
/ 04 марта 2011

один из проектов потребовал, чтобы я зашифровал строку подключения к БД (имя пользователя и пароль).

Обычно я использую .htaccess, чтобы ограничить доступ пользователей из Интернета.Но этот проект хочет, чтобы я сохранял ИД и пароль не в открытом виде.

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Это невозможно.

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

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

Если ваш проект требует, чтобы вы хранили пароль не открытым текстом, спросите менеджера проекта об этой логической проблеме - как я могу расшифровать пароль и как я могу сохранить пароль для расшифровки пароля.

0 голосов
/ 04 марта 2011

если расширение доступно на вашем сервере, вы можете использовать mcrypt Сохраните свое имя пользователя и пароль в зашифрованном виде в файле вне корневого веб-каталога и прочитайте / запишите его с помощью mcrypt

Например:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "myusername";
echo $text . "\n";

$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext . "\n";

Конец курса mcrypt_decrypt позволяет получить исходную строку.

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