ios - 验证来自 SQL 注入(inject) objective-c 的输入

标签 ios objective-c sql-injection

<分区>


要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 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/

上一篇:ios - 动画并不总是从 UIViewControllerAnimatedTransitioning 中的 animateTransition 可见

下一篇:ios - 解析数据库返回重复结果?

相关文章:

ios - SKReceiptRefreshRequest 每次都询问密码

objective-c - addSubView 上令人讨厌的 iOS SIGABRT 错误 - 即使在以前工作的旧快照和备份版本上也是如此?

objective-c - 离线游戏中心 iOS 成就

mysql - SQL注入(inject)方法帖子

sql - 从用户输入中使用动态列名称打开游标的安全方法

在 Swift 中为 iPAD 开发 iOS 应用程序

ios - expo弹出后无法运行IOS,只能看到白屏,如何使其工作?

ios - 仅触摸 Swift3 中 SKSpriteNode 的非透明像素

objective-c - 为什么 Objective-C block 不像其他 Objective-C 对象那样通过指针处理?

php - 防止 SQL 注入(inject)