Есть ли способ запрета конкатата строки в запросе sql, который может вызвать внедрение sql?
searchParameter и searchString - необязательные параметры, полученные из запроса get.Это должно добавить к предложению where, которое будет фильтровать результаты в зависимости от ввода пользователя.
И searchParameter, и searchString не должны иметь значение null, чтобы завершить оператор.
Спасибо.
async getDetails(searchParameter, searchString, skip = 0, limit = 25, transactionSeq) {
let filterQuery = "";
if(searchParameter && searchString)
{
filterQuery = "AND " + searchParameter + "=" + "'" + searchString + "'";
}
const sql = `
select * from (
select /*+first_rows(${limit})*/
a.record_sequence,
ROW_NUMBER() OVER (ORDER BY a.record_sequence) RN
from TABLE_NAME a
WHERE TRANSACTION_SEQUENCE = :t
) where RN between :n AND :m ${filterQuery}
ORDER BY RN
`;
const bindVars = {
t: transactionSeq,
n: skip + 1,
m: skip + limit
};
const resultAsync = this._database.simpleExecute(sql, bindVars);