Idiorm pdo准备了声明
我想使用下面的idiorm(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();
是的,Idiorm使用准备好的语句,并且应该保护您免受SQL注入攻击。
您可以检查执行查询时调用的_execute
方法。 它使用bindParam
方法来附加参数。