Сохраняет имя пользователя/пароль MySQL в php.ini-файл в безопасности?

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

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

спасибо

6 ответов


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


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


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


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

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


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


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

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