Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何转义NSString以防止核心数据的SQLInjection_Ios_Sql Injection - Fatal编程技术网

Ios 如何转义NSString以防止核心数据的SQLInjection

Ios 如何转义NSString以防止核心数据的SQLInjection,ios,sql-injection,Ios,Sql Injection,从输入字段中转义搜索字符串以防止SQLInjection的最佳方法是什么 是否有像PHP中那样的mysql\u real\u escape\u string方法,或者我应该手动替换/转义不同的字符,如:或者,像,WHERE,DELETE,INSERT,UPDATE,FROM,GROUP BY,ORDER BY等等 使用mysql\u real\u escape\u字符串进行搜索查询是一个不错的选择。但是,您需要注意两件事: 1) 如果在其他情况下应用此解决方案,请确保在集成参数时始终引用该参数。

从输入字段中转义搜索字符串以防止SQLInjection的最佳方法是什么


是否有像PHP中那样的
mysql\u real\u escape\u string
方法,或者我应该手动替换/转义不同的字符,如:
或者,像,WHERE,DELETE,INSERT,UPDATE,FROM,GROUP BY,ORDER BY
等等

使用mysql\u real\u escape\u字符串进行搜索查询是一个不错的选择。但是,您需要注意两件事:

1) 如果在其他情况下应用此解决方案,请确保在集成参数时始终引用该参数。简而言之,mysql\u real\u escape\u字符串不能保护您免受数值参数的影响。以下是两个示例:

$bad_sql = "SELECT * FROM some_table WHERE id=" . mysql_real_escape_string($_GET['id']);

$good_sql  = "SELECT * FROM some_table WHERE name='" . mysql_real_escape_string($_GET['id']) . "'";

2)要考虑的第二件事是MySqLRealOracle EnvieScript字符串不能避免通配符(%和π)。你不应该为此担心。然而,一个“完美”的解决方案避开了这些角色

有关更多信息,请查看


仅供参考:官方mysql\u real\u escape\u字符串参考。

最后给出的答案是:@Nick Weaver:


我认为你不必在意那件事


我认为你不必担心这个。可能的复制品也如尼克所说——你试过注射吗?我可以想象像CoreData这样的框架在使用sqlite时会使用params,从而消除sql注入。我不需要PHP sql escapingAlso,即使在PHP中也不要使用它。mysql转义函数长期以来遭受各种unicode攻击。始终使用准备好的语句,没有例外