6

我一直在查看所有这三个数据库库,我想知道它们是否会采取任何措施来防止 SQL 注入。我很可能会在其中一个之上构建一个库,而注入是我选择一个库时最关心的问题。有人知道吗?

4

2 回答 2

5

与 OTL 库的作者联系。用“OTL 方言”编写的参数化查询作为参数化查询传递给底层 DB API。因此,参数化查询将与底层 API 一样具有注入安全性。

转到其他SO 帖子以获取他的完整电子邮件解释: C++ OTL SQL 数据库库是在底层使用参数化查询还是字符串连接?

编辑:SOCI 使用soci::use表达式,它转换为通常的绑定机制,但语法糖更多。例子:db_session << "insert into table(column) values(:value_placeholder)", use(user_input,"value_placeholder");

就 DTL 而言,我不确定它如何处理与底层 API 相关的参数。

于 2010-06-30T18:57:53.507 回答
1

一般来说,这个级别的图书馆应该按照你的要求去做。您可以通过查看用户提供的字符串来防止 SQL 注入,并且只有在对它们进行清理后才将它们传递给库。

于 2010-06-25T14:16:24.443 回答