내 Silex 프로젝트에서 Doctrine QueryBuilder를 사용하고 있습니다. 나는 사용자 입력을 기반으로 쿼리를 작성하고 있습니다. 매개 변수는 setParameter()
기능으로 이스케이프됩니다. 그러나 addSelect()
은 어떨까요?Doctrine QueryBuilder 사용자 입력이있는 addSelect
$stmt = $this->conn->createQueryBuilder()
->addSelect("`".$userinputCol1."`")
->addSelect("`".$userinputCol2."`")
->from('`mytable`')
->where('id = :id')
->setParameter('id', $userinputId)
->execute();
이이 SELECT에서 SQL 주입을 방지 할 수 있습니다 :
나는이 알아낼 수 없습니다,이 같은 뭔가를 저장한다?
매개 변수를 사용할 수 없습니까? 'addSelect (': userInputCol1')' – Veve
@Veve No. 그런 다음 작은 따옴표로 이스케이프 처리됩니다. – Timo002