Пост метода SQL-инъекции - PullRequest
       14

Пост метода SQL-инъекции

0 голосов
/ 19 декабря 2018

Можно ли отправить запрос POST с SQL-инъекцией без использования какой-либо формы?Предположим, что приложение использует методы GET с параметрами id для проверки в базе данных, существует ли этот идентификатор, можно ли это сделать, если бы вместо этого мы использовали метод POST?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Почему существует разница между безопасностью данных GET и POST?

$sql = "SELECT * FROM products WHERE id = {$_GET['id']}";

против

$sql = "SELECT * FROM products WHERE id = {$_POST['id']}";

В обоих случаях это ненадежный контент, и этонебезопасно интерполировать в ваш запрос SQL.

Использовать параметры запроса.Тогда вам не нужно беспокоиться о том, откуда поступили данные.

$sql = "SELECT * FROM products WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute( [ $_POST['id'] ] );

Использование параметров запроса просто и безопасно!

0 голосов
/ 19 декабря 2018

SQL-инъекция может происходить через любой механизм, где пользовательские данные попадают прямо в запрос.Это не зависит от GET или POST, и даже не зависит от HTTP.

Вы можете ввести SQL с помощью OCR .Вы можете ввести SQL со штрих-кодами .Вы можете вводить SQL в любое время, когда кто-то неосторожен и правильно не экранирует данные.

Именно поэтому важно использовать подготовленные операторы со значениями-заполнителями для всех ваших запросов.

...