Проверить входящие данные $_POST в PHP

$amount = abs($_POST['amount']);
$md = intval($_POST['md']);

$md принимает цифровое значение и используется в коде для сравнения.

Правильно настроена фильтрация передаваемых данных?

Обошли следующую проверку:

if ($balance - $amount >= 0)

Значение $balance берётся из сессии пользователя.

$balance = $data['balance'];

Массив с данными пользователя:

if(isset($_SESSION['id'])) {
$sql = $pdo->Query("SELECT * FROM `users` WHERE `id` = '".(int)$_SESSION['id']."'");
$data = $sql->Fetch();
$numq = $sql->RowCount();
$sess = (int)$_SESSION['id'];
$sess_login = $data['login'];
if($numq == 0) { session_start(); session_destroy(); }

}

Точно известно:

  1. $amount и $md - передавалось как положительное число.
  2. Сессия не была взломана.
  3. Sql инъекция не использовалась.
  4. $balance после обхода проверки изменилось на отрицательное число.

Ответы (0 шт):