На нашем уровне доступа к БД мы создаем динамическое создание запросов. Например, у нас есть следующий способ построения части предложения ORDER BY
:
protected string BuildSortString(string sortColumn, string sortDirection, string defaultColumn)
{
if (String.IsNullOrEmpty(sortColumn))
{
return defaultColumn;
}
return String.Format("{0} {1}", sortColumn, sortDirection);
}
Проблема заключается в том, что sortColumn
и sortDirection
оба происходят извне как строки, поэтому, конечно, что-то нужно сделать, чтобы предотвратить возможные атаки на инъекции. Кто-нибудь знает, как это можно сделать?