Android - 加载参数化查询 - 如何正确编码

时间:2012-06-01 02:53:06

标签: android sanitization

我正在使用XML文件作为数据库,它从MySQL数据库中获取条目。要添加新条目,我有一个页面,它对名称,日期,位置等内容进行参数化查询,并将数据输入数据库,前提是信息以适当的格式给出。

例如,我想把en命名,我编码如下:

String name = "Mark" // Just for demonstration
String nameEn = URLEncoder.encode(name, "UTF-8");

这就是我进行初步消毒的方法。为了获得额外的保护,我在之后尝试了这个:

UrlQuerySanitizer sanitizer = new UrlQuerySanitizer();
sanitizer.setAllowUnregisteredParamaters(true);
sanitizer.parseUrl(url); //Url being the total url with parameters

但是,有时它只是不插入新行。当我使用逗号或撇号时会发生这种情况,因此我认为它与清理有关。

我做错了什么?感谢。

编辑:更具体

我有一个php文件,它将插入带有参数化查询的数据库条目,如下所示: www.example.com/newentry.php?name=thename&location=thelocation1

我想连接url字符串以及thenamethelocation(作为输入)进行清理,以便它们在url中工作。如果我使用逗号或撇号之类的东西,则无法插入该条目,因为我假设这样,它不会正确地清理那些输入。

1 个答案:

答案 0 :(得分:1)

你看错了地方。

包含,'的网址是有效网址,因此问题必须在您的服务器端。

我猜您使用$_GET["parameter"]值,因此在尝试将这些值插入数据库之前,请确保执行mysql_real_escape_string($_GET["parameter"])之类的必要操作。

有关SQL Injections的更深入的知识搜索。这也可能免费让你变得偏执:)