Чтобы получить некоторые данные, я создаю SQL-запрос :)Конечно, есть некоторые элементы фильтрации и упорядочения.
Чтобы получить результат, я использую «NamedParameterJdbcTemplate», а когда мне нужно добавить что-то в часть «где», я использую карту параметров, чтобы предотвратить внедрение.
Но с частью "order by" все по-другому, так как нет автоматического экранирования (и это часть sql).Эта часть заказа иногда заполняется данными от пользователя (напрямую), иногда вставляются дополнительные параметры сортировки из кода.Есть одна проблема: иногда это поле сортировки содержит не только имя столбца, но и оператор sql .
Теперь каждый параметр для сортировки экранируется вручную путем замены некоторых символов (например, ') на пустыестрока, но некоторые параметры, которые мы устанавливаем для нашего кода, немного сложны, чтобы передать это правило.
Каков наилучший способ предотвращения SQL-инъекций в части сортировки запроса, когда вы используете шаблон jdbc?