SQL-инъекция с использованием JpaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 SQL-инъекция с использованием Jpa

Сообщение Anonymous »

Сник сообщает о SQL-инъекции, которую я не знаю, как устранить. Я попробовал использовать подготовленный оператор, который решает проблему, но возвращает неверные данные.
Запрос:

Код: Выделить всё

    @Query(value = "SELECT dsm.*, rc.order FROM StoreInfo.response_configuration rc INNER JOIN StoreInfo.data_source_mapping dsm ON rc.data_source_mapping_id = dsm.id WHERE rc.request_source_id = (SELECT ID FROM StoreInfo.request_source where name = :source and active = true)", nativeQuery = true)
public List getMappings(@Param("source") String source);
Кроме того, когда я использую подготовленный оператор или запрос, данные не возвращаются, но когда я использую Jpa, как указано выше, он возвращает некоторые данные. пример:

Код: Выделить всё

private List getMappingsUsingPreparedStatement(String source) {
String query = "SELECT dsm.*, rc.order " +
"FROM StoreInfo.response_configuration rc " +
"INNER JOIN StoreInfo.data_source_mapping dsm ON rc.data_source_mapping_id = dsm.id " +
"WHERE rc.request_source_id = (" +
"    SELECT ID FROM StoreInfo.request_source WHERE name = ? AND active = true" +
")";
Query sqlQuery = entityManager.createNativeQuery(query, DataSourceMappingEntity.class);
List results = sqlQuery.setParameter(1, source).getResultList();

return results;
}
У кого-нибудь есть идеи, как решить эту проблему? спасибо

Подробнее здесь: https://stackoverflow.com/questions/792 ... -using-jpa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»