如何在C或Objective-C中清理数据库输入?

3 c sql sqlite sql-injection objective-c

我在Objective-C中创建了一个iPhone应用程序(如果这很重要),我使用SQLite存储.我想清理数据库输入,以防止用户做类似的事情

Robert'); DROP TABLE Students; --
Run Code Online (Sandbox Code Playgroud)

在C或Objective-C中执行此操作的最佳方法是什么?


我尝试更换',''但我相信这还不够.

Bob*_*ica 12

最好的办法是永远不要在任何情况下,即使在那些你知道它会更容易但又非常认真的特殊情况下,我的意思是不要通过将参数值连接到语句中来构造SQL语句.使用参数标记并将值绑定到标记.这是方式,以避免SQL注入攻击.其他所有东西都浪费了很多时间和精力,因为对于你用户输入的参数中你认为要改变/修改/检查的每一件事,有人会想到事物N + 1.

分享和享受.