我正在编写一个 C 应用程序,它需要一些用户输入并执行一些数据库查询。我很清楚 SQL 注入的风险,并希望阻止它。
理想情况下,我会使用参数化查询,但到目前为止在 C 中找不到任何具有此功能的东西。我目前正在构建我的查询:
char *query;
asprintf(&query, "UPDATE SomeTable SET SomeField='%s';", userInput);
如果我无法做到这一点,那么我必须过滤用户输入。这个过滤应该怎么做?仅删除所有 's 和 "s 就足够了吗?(有效输入不能包含它们)。如果是这样,在 C 中执行此操作的最简单方法是什么?