В php всех версий, включая самую последнюю 7.4.x, есть уязвимость, которая при использовании PDO в случае ошибки выводит в браузер ваши имя и пароль от бд. Ниже описана сама уязвимость и способ ее устранения

                        
<?php

$user = 'Rak_s_profika';
$password = 'qwerty';
$dbh = new PDO('', $user, $password);

/*
Данный код выведет в браузер нечто подобное:

PHP Fatal error: Uncaught PDOException: invalid data source name in /home/6GkTpD/prog.php:4
Stack trace:
#0 /home/6GkTpD/prog.php(4): PDO->__construct('', 'Rak_s_profika', 'qwerty')
#1 {main}
thrown in /home/6GkTpD/prog.php on line 5
*/

/*
Решение проблемы - перехват исключения с помощью конструкции try/catch
*/

$user = 'Rak_s_profika';
$password = 'qwerty';
try {
$dbh = new PDO('', $user, $password);
} catch (PDOException $e) {
echo 'PDO Error: ' . $e->getMessage();
}

?>
0 46 0
0

Нет фото
• 20 янв 2024, 22:37


privet

0

Нет фото
• 14 апр 2022, 18:35


Odo Veiz,

0

Нет фото
• 1 ноя 2020, 04:50


Лол, это не уязвимость, а тупость разработчика