2014-05-22 44 views
1

我有一個應用程序,允許用戶創建數據庫並與他們一起玩。清理sqlite語句

我想讓他們在這些數據庫上執行任意的sql語句。實質上,應用程序將獲取帶有EditText的sql語句並將其放到數據庫中。

我應該限制這些語句嗎?如果是這樣,怎麼樣?

我應該使用什麼樣的理性消毒方法?

+0

這取決於您希望用戶允許執行多少操作。 「玩」是什麼意思? –

+0

用戶應該能夠一路走下去,並且破壞他們的dbs,但不會使應用程序崩潰。 – Lara

回答

1

SQLite最危險的部分是load_extension function,但默認情況下它是禁用的(並且在Android上,即使您想要也不能啓用它)。

通過ATTACH DATABASE statement,可以打開進程可以訪問的任何其他數據庫文件(在Android上,這些文件僅限於屬於您自己的應用的文件),或創建新的數據庫文件。

否則,可能發生的最壞情況是數據庫吃太多的內存,存儲或CPU。 所有這一切都受到Android系統的保護。

總之,沒有什麼需要做的。

+0

沒想到附加。謝謝。我會禁用它。 – Lara