Iphone 如何预防;SQL注入“;核心数据中?
我在几次迭代中构建了一个非常复杂的谓词,并希望立即在谓词中提供匹配值 而不是:Iphone 如何预防;SQL注入“;核心数据中?,iphone,core-data,nspredicate,Iphone,Core Data,Nspredicate,我在几次迭代中构建了一个非常复杂的谓词,并希望立即在谓词中提供匹配值 而不是: [NSPredicate predicateWithFormat:@"departmentName like[c] %@"]; 我想做: NSString*str=[NSString stringWithFormat:@“部门名称,如[c]'%@',部门名称]; [NSPredicate PREDITEWITHFORMAT:str] 由于这是一个愚蠢的替换,我想有可能通过输入垃圾来意外地“破解”谓词 我找不到任何能
[NSPredicate predicateWithFormat:@"departmentName like[c] %@"];
我想做:
NSString*str=[NSString stringWithFormat:@“部门名称,如[c]'%@',部门名称];
[NSPredicate PREDITEWITHFORMAT:str]
由于这是一个愚蠢的替换,我想有可能通过输入垃圾来意外地“破解”谓词
我找不到任何能“神奇地引用”这个价值的东西
原因是,我需要在多次迭代中构建一个复杂的谓词,所以我必须构建一个大的谓词字符串。模板不适用于子查询。因此,我需要立即在字符串中提供值,因为我不想根据谓词格式的值数量进行20次不同的谓词初始化。直接使用
NSComparisonPredicate
,绕过谓词格式问题
NSPredicate *fetchPredicate = [NSComparisonPredicate predicateWithLeftExpression:[NSExpression expressionForKeyPath:@"departmentName"]
rightExpression:[NSExpression expressionForConstantValue:searchTerm]
modifier:NSDirectPredicateModifier
type:NSLikePredicateOperatorType
options:0];
通读“在代码中直接创建谓词”,并检查类引用中的