Достаточно ли подготовленных операторов PDO для предотвращения внедрения SQL?
Допустим, у меня есть такой код:
$dbh = new PDO("blahblah");
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute( array(':username' => $_REQUEST['username']) );
Документация PDO гласит:
Параметры для подготовленных утверждений не должны быть указаны; водитель справится с этим за вас.
Это действительно все, что мне нужно сделать, чтобы избежать SQL-инъекций? Это действительно так просто?
Вы можете принять MySQL, если это имеет значение. Кроме того, мне действительно любопытно использовать подготовленные операторы против SQL-инъекций. В этом контексте меня не волнует XSS или другие возможные уязвимости.