Idiorm pdo准备声明

时间:2017-05-02 09:19:59

标签: php pdo sql-injection idiorm

我想使用以下idiorm(orm):https://github.com/j4mie/idiorm

具有以下特点:
建立在PDO之上。
使用准备好的语句来防止SQL注入攻击。

现在,在https://github.com/j4mie/idiorm/blob/master/idiorm.php我没有看到准备好的statament的使用,所以我的问题是 - >如果我使用以下代码,我使用的是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 个答案:

答案 0 :(得分:1)

是的,Idiorm使用预准备语句,您应该受到保护,免受SQL注入攻击。

您可以检查执行查询时调用的_execute方法。它使用bindParam方法附加参数。