Как исключить возможность SQL инъекций в PHP
Правильный способ избежать атак с использованием SQL-инъекций, независимо от того, какую базу данных вы используете, - это отделить данные от базы. Переданные значения никогда не должны интерпретироваться синтаксическим анализатором SQL как команды. Необходимо написать запрос так, что бы пришедшее значение шло как параметр запроса и экранировалось на уровне приложения, а не хранилища данных. В такой реализации злоумышленник не сможет внедрить вредоносный SQL. Базово существуют два варианта решения этой задачи: $stmt = $pdo->prepare('SELECT * FROM products WHERE code = :code'); $stmt->execute([ 'code' => $code ]); foreach ($stmt as $row) { // получаем значения из $row } 2...
3 года назад
SQL инъекции. Проверка, взлом, защита
Моя благодарность автору сайта habr - BVN2 P.S. Ссылки приведеные автором статьи - не работают. Поэтому, визуализируйте! SQL инъекция — это один из самых доступных способов взлома сайта. Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно. Как вычислить уязвимость, позволяющую внедрять SQL инъекции? Довольно легко...