Я изучал PDO bindValue()
. Я знаю, что подготовка моих операторов SQL с PDO ведет к тому, что SQL-инъекции происходят.
Пример кода:
$stmt = $dbh->prepare('SELECT * FROM articles WHERE id = :id AND title = :title');
$stmt->bindValue(':id', PDO::PARAM_INT);
$stmt->bindValue(':title', PDO::PARAM_STR);
$stmt->execute();
Связывая идентификатор как число, а Title - строку, мы можем ограничить ущерб, нанесенный, когда кто-то пытается выполнить SQL-инъекцию в коде.
Должны ли мы всегда связывать наши значения с PDO::PARAM_
, поэтому мы можем ограничить то, что можно извлечь из базы данных в SQL-инъекции? Означает ли это повышение безопасности с помощью PDO при выполнении нашего bindValue()
?