Я пишу приложение на C, которое принимает данные от пользователя и выполняет несколько запросов к базе данных. Я хорошо осведомлен о рисках внедрения SQL-кода и хочу его предотвратить.
В идеале я бы использовал параметризованные запросы, но пока не смог ничего найти с этой функциональностью в Си. Я сейчас строю свои запросы так:
char *query;
asprintf(&query, "UPDATE SomeTable SET SomeField='%s';", userInput);
Если я не могу этого сделать, мне необходимо отфильтровать вводимые пользователем данные. Как сделать эту фильтрацию? Достаточно ли просто удалить все «и»? (Допустимые входные данные не могут их содержать). Если это так, какой самый простой способ сделать это в C?