Обработка SQL-инъекций в HQL-порядке по выражению - PullRequest
6 голосов
/ 19 января 2011

существует простой способ обработки SQL-инъекций в Hibernate HQL в порядке предложений.Именованные параметры явно не подходят для этого.

РЕДАКТИРОВАТЬ:

Не стесняйтесь опубликовать свой способ решения этой проблемы.Я хочу видеть решения других людей и учить их.

Спасибо за любые предложения и решения.

Ответы [ 3 ]

3 голосов
/ 15 февраля 2011

Вы можете использовать API критериев Hibernate вместо HQL.

API критериев проверяет, что критерий заказа ссылается на допустимое свойство.

, если вы попытаетесь что-то подобное:1006 *

Вы получите QueryException: "could not resolve property this_ of de.test.DemoEntity", брошенный AbstractPropertyMapping.

1 голос
/ 03 февраля 2011

Я получил решение, которого хотел избежать.Я реализовал карту, где ключ - это то, что пользователь видит в URL, а значение - это столбец (столбцы) в БД, который следует после предложения ORDER BY.

0 голосов
/ 20 января 2011

Hibernate использует PreparedStatement, который уже против SQL-инъекций. В PreparedStatment аргументы привязываются к оператору, а не к выдаче простого SQL-оператора. Вам не нужно беспокоиться о внедрении SQL при использовании hibernate.

Вот поток, который обеспечивает безопасность hibernate от SQL-инъекции Нажмите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...