Здравствуйте! Есть такой код:
$val = $_GET['val'];
$val_query = $pdo->Query("SELECT * from users WHERE name = '" . $val. "'")->fetch(PDO::FETCH_BOTH);
И таких обращений много по скрипту. Как защититься в этом случае от sql инъекций? Можно ли написать какую-то функцию, которая будет полностью защищать от этой уязвимости данный код?
Я знаю, что есть pdo::prepare и такое подобное, и зачем оно нужно. Мне попался движек, в котором все запросы идут через Query. Поэтому и спрашиваю, есть ли возможность устранить sql инъекции не прибегая к редактированию всего движка, изменяя pdo::Query на pdo::prepare и так далее?
Query2('... where name=?',[$val])->fetch.... И код даже более читаемый выйдет. И такую замену можно по большому коду за несколько часов произвести – Mike Mar 07 '18 at 23:16