Как скрыть пароль в конфигурационных файлах - PullRequest
3 голосов
/ 14 мая 2010

Есть ли способ скрыть мой пароль для доступа к базе данных в моем файле конфигурации config.php?

Каков наилучший способ сделать это?

Я хочу скрыть от посетителей и администратора хостинга:)

Ответы [ 4 ]

10 голосов
/ 14 мая 2010

Обычно их невозможно скрыть, потому что в какой-то момент они должны быть прочитаны приложением, использующим его во время выполнения. Лучше держать их в безопасности, чтобы у них не было возможности быть читаемыми кем-либо, кроме вас (или уполномоченного персонала).

Например, ваш config.php НЕ должен находиться в публичном или html-каталоге, доступном через Интернет. Если я захожу на website.com/config.php, я не должен видеть созданный файл (даже если он обычно будет пустым). Это происходит потому, что иногда PHP-код предоставляется, когда параметр конфигурации отключен, и это может раскрыть код, который устанавливает пароль, который вы пытаетесь сохранить в тайне.

4 голосов
/ 14 мая 2010

пароль для доступа к базе данных. я хочу скрывать от посетителей и хостинга админ

Вы не можете ничего скрыть в файле от администратора хостинга. Даже если вы используете шифрование, они все равно могут найти ключ в вашем источнике PHP. Если вы не доверяете своему администратору, отойдите от дел.

3 голосов
/ 14 мая 2010

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

Однако, как сказал Эдвин, это невозможноесли вы храните пароли для внешних служб, таких как базы данных.(В таком случае я бы направил вас к ответу Фокстрот ).

2 голосов
/ 15 мая 2010

Вы можете скрыть пароль от посетителей ваших сайтов (см. Другие ответы по этому вопросу), но, вероятно, не от администраторов серверов. Они также, вероятно, имеют root-доступ к любой из ваших баз данных, поэтому им даже не понадобится пароль.

Единственный способ действительно скрыть ваши конфиденциальные данные на удаленном сервере - арендовать выделенный компьютер, к которому у вас есть права root, хранить все данные на этом компьютере и использовать зашифрованную файловую систему.

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