我必须保护我的软件免受 SQL 注入(inject)攻击。
这是我的 C 代码示例:
char myquery[QUERY_LEN];
sprintf(myquery, "select * from patient p where p.id_doc='%s'", us_names[index].name);
if (mysql_query(conn, myquery )) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
我想使用准备好的语句,因为我读到这是最好的解决方案,但我不明白它是如何工作的。
我用了谷歌,但我没有找到任何 C 语言的例子。
你能用我的代码举个例子吗?
最佳答案
欢迎来到 SO。您找不到您的 代码的完整示例。只是一般的例子。如果您想了解有关代码注入(inject)预防的更多信息,请在谷歌上搜索该主题,而不是针对您的具体问题。
一些文章:
关于mysql - 如何使用准备好的语句防止 C 语言中的 SQL 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552372/