如何在目标c中正确地使用SQL注入证明我的查询

lem*_*ist 4 sqlite xcode objective-c xcode4.3

我的目标c代码中有一个函数,它使用用户在文本字段中输入的注释更新SQLite表列.我想确保我正确地做到这一点,以便一般没有安全问题或问题.这是我的代码,我可以做些什么来使这更安全,或者它已经可以了吗?

sqlite3_stmt *stmt=nil;
sqlite3 *cruddb;

//insert
const char *sql = "UPDATE Peaks SET notes=? where ID=?";

//Open db
sqlite3_open([path UTF8String], &cruddb);
sqlite3_prepare_v2(cruddb, sql, -1, &stmt, NULL);
sqlite3_bind_text(stmt, 1, [self.viewNotes.text UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(stmt, 2, [self.detailItem ID]);

sqlite3_step(stmt);
sqlite3_finalize(stmt);
sqlite3_close(cruddb);
Run Code Online (Sandbox Code Playgroud)

P M*_*P M 8

您已经是SQL注入安全的,因为您通过sqlite3_bind_textsqlite3_bind_int传递用户输入.