Задать вопрос

Защищает ли expr()->literal() от SQL инъекции?

Делают фильтр и возникли сомнения насчет такого решения. Возможно ли SQL инъекция ? Если да то как решить.
$orStatements = $this->queryBuilder->expr()->orX();
foreach ($result as $value) {
    $orStatements->add(
        $this->queryBuilder->expr()->like('table.column', $this->queryBuilder->expr()->literal('%' . $value . '%'))
    );
}
$this->queryBuilder->andWhere($orStatements);
  • Вопрос задан
  • 482 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sl0
https://www.doctrine-project.org/projects/doctrine...

You are NOT safe from SQL injection when using user input with:

Expression API of Doctrine\ORM\QueryBuilder
Concatenating user input into DQL SELECT, UPDATE or DELETE statements or Native SQL.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
YCLIENTS Москва
от 250 000 до 350 000 ₽
Wanted. Тбилиси
До 3 500 €
iSpring Санкт-Петербург
от 280 000 ₽