Безопасно ли сохранять имя пользователя / пароль MySQL в файле php.ini? - PullRequest
6 голосов
/ 24 октября 2011

Я хотел бы знать, безопасно ли сохранять имя пользователя, пароль, сервер и т. Д. В файле php.ini, поэтому при подключении к серверу mysql мне не всегда нужно указывать параметры?

Кроме того, может ли эта информация (сохраненная в php.ini) быть просмотрена или извлечена любым способом (например, phpinfo () или чем-то подобным)?

Спасибо

Ответы [ 6 ]

6 голосов
/ 24 октября 2011

Пока вы убедитесь, что ini-файл находится вне DOCUMENT_ROOT и не доступен для чтения во всем мире, он не менее безопасен, чем любой другой метод.

3 голосов
/ 24 октября 2011

Это небезопасно, потому что вы можете читать ini-файлы с помощью метода php: parse_ini_file

3 голосов
/ 24 октября 2011

Вам не нужно каждый раз вводить эту информацию в параметры. Вы можете определить соединение в отдельном файле (dbconnection.php) и включить его в файлы, которым требуется соединение с базой данных.

1 голос
/ 24 октября 2011

Я не думаю, что при сохранении какой-либо конфигурации в файле php.ini существует угроза безопасности, поскольку местоположение файла ini находится за пределами «публичного» каталога. Ни один пользователь не может получить доступ к этому файлу.

Вы можете получить параметр ini с помощью функции php "ini_get". Вы можете найти больше информации об этом параметре здесь: http://php.net/manual/en/function.ini-get.php

0 голосов
/ 29 января 2012

Как указано выше, файл .ini не может быть более или менее безопасным, чем хранить его в самом файле .php. Однако следует учитывать, что при использовании файла .ini этот параметр является глобальным для любого PHP-кода и веб-сайтов. Использование файла .ini может повлиять на другой код, для которого вы хотите использовать другого пользователя.

В целом, это, вероятно, лучшая практика безопасности - НЕ использовать INI-файл для хранения пароля, просто потому, что теперь он открыт для всех, кто хранит PHP-файлы на вашем сервере. Кроме того, это доставляет некоторые хлопоты, если вам внезапно понадобится предоставить нескольким сайтам или приложениям для сайта разные логины (для отдельных баз данных). Не лучше использовать один логин для нескольких баз данных, за исключением пользователя root, который должен использоваться только в административных целях.

0 голосов
/ 24 октября 2011

Было бы намного безопаснее, если бы вы поместили его в файл без расширения, а затем обезопасили этот файл с помощью .htaccess. Кроме того, файл .ini может быть прочитан любым браузером, так что это будет крайне небезопасно.

...