Идиорм ПДО подготовил заявление

Я хочу использовать следующий идиорм (orm): https://github.com/j4mie/idiorm.

Это показывает следующее:
Построен на вершине PDO.
Повсеместно используются подготовленные операторы для защиты от атак SQL-инъекций.

Теперь в https://github.com/j4mie/idiorm/blob/master/idiorm.php я не вижу использования подготовленного утверждения, поэтому мой вопрос:> Если я использую следующий код, использую ли я orm+pdo подготовил заявления о том, что я защищен от SQL-инъекций:

require_once 'idiorm.php';
ORM::configure(array(
    'connection_string' => 'mysql:host=localhost;dbname=my_database',
    'username' => 'database_user',
    'password' => 'top_secret'));
ORM::configure('return_result_sets', true);
ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
ORM::configure('error_mode', PDO::ERRMODE_EXCEPTION);

$people = ORM::for_table('person')
                ->where(array(
                    'name' => $_POST["name"],
                    'age' => $_POST["age"]
                ))
            ->find_one();

1 ответ

Решение

Да, Idiorm использует подготовленные операторы, и вы должны быть защищены от атак SQL-инъекций.

Вы можете проверить _execute метод, который вызывается при выполнении запроса. Оно использует bindParam способ прикрепить параметры.

Другие вопросы по тегам