【发布时间】:2021-11-19 13:58:13
【问题描述】:
我正在尝试使用Criteria 对象和EntityRepository::matching() 方法来查询我的数据库:
$criteria = new Criteria();
$criteria->where(Criteria::expr()->eq('applied', false))
->andWhere(Criteria::expr()->eq('cancelled', false))
->andWhere(Criteria::expr()->eq('identifier', $identifier)) // danger Here
;
$results = $this->matching($criteria);
问题是,标准参数之一可能来自最终用户(具体来说是$identifier)。
但Criteria 和matching(Criteria) 似乎不允许设置和绑定参数。
如何安全地执行这些查询?是否为使用EntityRepository::matching() 执行的任何查询自动绑定参数?
【问题讨论】:
标签: php doctrine-orm doctrine sql-injection