Я создал файл 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
. В каком сценарии мы имеем дело с этим?
Или как я могу защитить свои ценности от других?
Вы можете попытаться поместить ваши учетные данные в отдельный файл с соответствующими разрешениями 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); } }
Теперь в этом случае имя пользователя и пароль видны другим.
Только тем, у кого есть доступ к исходному коду. Это не должно быть проблемой. Но если вы хотите разделить учетные данные кода и базы данных, убедитесь, что файл конфигурации находится за пределами веб-корня.