【发布时间】:2012-03-05 21:35:41
【问题描述】:
这段代码(在 Doctrine2 中)是否针对 SQL 注入进行了保护?或者应该是 $_GET['value'] 消毒了吗?
$ret = $entityManager->getRepository('SomeEntity')->findOneBy(array('ID' => $_GET['value']));
谢谢
【问题讨论】:
标签: doctrine-orm
这段代码(在 Doctrine2 中)是否针对 SQL 注入进行了保护?或者应该是 $_GET['value'] 消毒了吗?
$ret = $entityManager->getRepository('SomeEntity')->findOneBy(array('ID' => $_GET['value']));
谢谢
【问题讨论】:
标签: doctrine-orm
它受到 SQL 注入的保护。你可以去看看源码找到这个,相关代码在Doctrine\ORM\Persisters-namespace,还有Doctrine\ORM\EntityRepository和Doctrine\ORM\UnitOfWork。
您的条件将转换为占位符,这也是编写您自己的查询以防止 SQL 注入的推荐方法。
【讨论】: