Я строю этот метод, который позволяет построить SearchParameters
объект. Один из методов позволяет указать Filter
поле этого объекта. Это выглядит так (упрощенная версия)
public SearchParameters CreateWithFilter(string fieldName, string operator, string value)
{
var filterString = $"{fieldName} {operator} '{value}'";
return new SearchParameters{ Filter = filterString };
}
, поэтому я могу использовать его вот так
var searchParameters = this.CreateWithFilter("manufacturer", "eq", "volvo");
Теперь проблема в том, что этот код sql -инъекция -подобно уязвимо. Если я позвоню
var searchParameters = this.CreateWithFilter("manufacturer", "eq", "volvo' or someField eq 1 or manufacturer eq 'volvo");
Я стану великим Azure Поисковый хакер;)
Мой вопрос:
Есть ли какие-либо специфические c методы в Azure Поиск, подобные тем, которые известны из SQL мира, которые позволили бы мне защитить код от этих типов инъекций?