我正在使用 FluentPDO 来处理我的数据库查询。 查看它的代码后,它似乎没有使用任何形式的转义。我知道 PDO 本身可以解决很多安全问题,但它也不能幸免。
据我了解,只要我们使用其主页上提供的准备好的语句语法,它就不会受到 SQL 注入(inject)的影响:
$query = $fpdo->from('article')
->where('published_at > ?', $date) // HERE!!
->orderBy('published_at DESC')
->limit(5);
如何转义变量来防止二阶 SQL 注入(inject)?简单地使用addslashes()就足够了吗?会不会是多余的? 我应该如何处理这个库的安全性?
谢谢!
最佳答案
FluentPDO通过PDO的“execute”方法传递所有参数,例如:
$connection = new PDO(...);
$pdo = connection->prepare($sql);
$pdo->execute($params);
这就是为什么 FluentPDO 已经准备好查询以避免 SQL 注入(inject)。
关于php - 如何处理 PHP 中 FluentPDO 的安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34697002/