<分区>
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
关闭 8 年前。
<分区>
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
关闭 8 年前。
我正在寻找 iOS 应用的代码,它可以执行用户输入的完整性,尤其是在 objective-c 上验证来自 SQL 注入(inject)的输入。
最佳答案
为用户生成的输入使用绑定(bind)变量将避免任何 SQL 注入(inject)。但是,如果您使用 [NSString stringWithFormat:]
创建 SQL 语句,那么您将始终容易受到此类攻击。
这是一个使用绑定(bind)变量的例子,取自 here :
const char *sql = "INSERT INTO data(coltext, colint, coldouble) VALUES(?,?,?)";
sqlite3_prepare_v2(db, sql, 1, &stmt, NULL);
sqlite3_bind_text(stmt, 1, [txt UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(stmt, 2, integer);
sqlite3_bind_double(stmt, 3, dbl);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
有很多很多例子。
关于ios - 验证来自 SQL 注入(inject) objective-c 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25052880/