这似乎是一个明显(或不那么明显)的问题,但让我解释一下。我正在使用 Google 的数据库技术 BigTable 编写一个 Google App Engine 网站。任何 App Engine 编码人员都会知道 Google 有自己的有限查询语言,称为 GQL。因此,我很想不在我的应用程序中检查 SQL(或 GQL)注入,因为我假设 Google 没有在其后端方法上使用原始字符串查询来获取数据。
此外,CouchDB、MongoDB 和其他对象或文档(又名 NoSQL)数据库等数据库技术库似乎无需检查恶意用户是否正在注入数据库操作命令。它们通常具有将数据库中的对象直接映射到您选择的语言的对象的库。我知道有很多 SQL 库也可以做到这一点,但我假设在某种程度上它们正在组合参数以对字符串运行查询,因此即使使用这些框架,我仍然必须使用 SQL 注入保护。
我是不是目光短浅?还是下一个伟大的数据库系统站稳脚跟只是时间问题,然后我会看到注入这些系统?