我正在使用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字符串以及thename
和thelocation
(作为输入)进行清理,以便它们在url中工作。如果我使用逗号或撇号之类的东西,则无法插入该条目,因为我假设这样,它不会正确地清理那些输入。
答案 0 :(得分:1)
你看错了地方。
包含,
或'
的网址是有效网址,因此问题必须在您的服务器端。
我猜您使用$_GET["parameter"]
值,因此在尝试将这些值插入数据库之前,请确保执行mysql_real_escape_string($_GET["parameter"])
之类的必要操作。
有关SQL Injections
的更深入的知识搜索。这也可能免费让你变得偏执:)