Подключение к базе осуществляется с помощью PDO через синглтон.
как то так
$db = db::connect();
в классе db, который наследуется от PDO прописаны свойства для подключения.
private $host = 'localhost'; //Адрес базы
public $name = 'dbname'; //Имя базы
private $user = 'username'; //Имя пользователя
private $pass = 'password'; //Пароль пользователя
public $prefix = 'pref'; //Приставка для названий таблиц в базе данных
private $type = 'mysql'; //Тип базы данных
public $charset = 'utf8'; //Кодировка базы
Думал что их никак нельзя прочитать, что бы украсть данные для подключения к базе. Оказалось можно и легко.
Например вот так будет ошибка.
class test {
private $login = '123';
private $password = '1q2w3e';
}
$test = new test;
echo $test->login;
echo $test->password;
А вот так видна вся подноготная
class test {
private $login = '123';
private $password = '1q2w3e';
}
$test = new test;
function hack($hack) {
print_r(debug_backtrace());
}
hack($test);
[function] => hack
[args] => Array
(
[0] => test Object
(
[login:test:private] => 123
[password:test:private] => 1q2w3e
)
)
Кто подскажет как с этим бороться? Ведь если злоумышленник как то незаметно подсунет этот код в проект, в дополнение к проекту, будет печаль.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2