Как защитить файл конфигурации базы данных в проекте?

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

 public class DatabaseConnect { function __construct() { mysql_connect('localhost','username','password') or die('Could not connect to mysql server.'); mysql_select_db('databasename'); } } 

Теперь в этом случае имя пользователя и пароль видны другим.

Я нашел еще один способ защитить значение, т.е. mysql.default_user и mysql.default_password . В каком сценарии мы имеем дело с этим?

Или как я могу защитить свои ценности от других?

Solutions Collecting From Web of "Как защитить файл конфигурации базы данных в проекте?"

Вы можете попытаться поместить ваши учетные данные в отдельный файл с соответствующими разрешениями UNIX, например 644, а затем включить этот файл поверх своего сценария.

Файл configuration.php будет выглядеть так:

 <?php define (DB_USER, "mysql_user"); define (DB_PASSWORD, "mysql_password"); define (DB_DATABASE, "database_name"); define (DB_HOST, "localhost"); ?> 

Ваш оригинальный скрипт будет выглядеть примерно так:

 require ("configuration.php"); public class DatabaseConnect { function __construct() { mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die('Could not connect to MySQL server.'); mysql_select_db(DB_DATABASE); } } 

Теперь в этом случае имя пользователя и пароль видны другим.

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