清理sqlite语句

时间:2014-05-22 05:47:33

标签: android sqlite escaping sanitization

我有一个应用程序,允许用户创建数据库并使用它们。

我想允许他们在这些数据库上执行任意的sql语句。本质上,应用程序将使用EditText获取sql语句并将其抛出到数据库中。

我应该限制这些陈述吗?如果是这样,怎么样?

我应该使用什么形式的理性消毒?

1 个答案:

答案 0 :(得分:1)

SQLite最危险的部分是load_extension function,但默认情况下已禁用(在Android上,即使您愿意,也无法启用它)。

使用ATTACH DATABASE statement,可以打开进程可以访问的任何其他数据库文件(在Android上,限制为属于您自己的应用程序的文件),或者创建新的数据库文件。

否则,可能发生的最坏情况是数据库占用太多内存,存储空间或CPU。 所有这些都受到Android系统的保护。

总之,你无需做任何事情。