在DataFrame对象上使用时,是否有必要清理pandasql查询

时间:2015-09-14 20:09:07

标签: python-2.7 pandas sanitization pandasql

我有一个简单的应用程序,它使用pandas将csv文件加载到DataFrame中,然后继续使用pandasql对其执行sql操作。其中一些操作来自用户输入。为了测试,我有一行

tempdb = sqldf('SELECT * from eventsdb_subset WHERE %s' % filterstring,locals())

其中filterstring是原始用户输入。这显然是一个sql注入漏洞。

通常在使用这样的数据库时,您会清理用户输入,但在这种情况下是否需要?因为DataFrame只存在于内存中,所以使用的文件都是本地的,并且实际上没有对磁盘上的csv文件进行任何操作,有人会对未经过简化的数据库查询造成什么伤害,而这些查询无法通过简单地忽略输出来解决那个查询?

编辑:毫无疑问,这代表了SQL注入漏洞。我的问题是:如果数据库只存在于本地RAM中,我为什么要关心?

0 个答案:

没有答案