0

有人告诉我,建议使用 PDO 以使我的代码免受 mysql 注入的影响。

我目前正在使用我读过的 DB_DataObject 来清除注射中的输入(http://pear.php.net/manual/en/package.database.db-dataobject.php)我还需要使用 PDO 还是 DB_Dataobject应该可以 ?我也可以将它们组合在一起,如果可以的话如何。

我的 DB 语句的示例部分

$password=encryptpass($_REQUEST['password']);
        $user->query("select username from {$user->__table} where (username = '$username' or email='$username') AND password = '$password' ");

谢谢

4

1 回答 1

0

如果您自己构建查询而不使用正确的函数来转义参数,则 PDO 或 DB_Dataobject 不能防止 sql 注入。

要受到保护,您需要:

  • 使用正确的函数($db->quote for DB_Dataobject)转义您的数据($username 和其他)

或者

于 2013-09-01T01:17:08.640 回答