NutzCN Logo
问答 关于NUTZ框架sql注入的问题
发布于 2221天前 作者 liuwq001111 2507 次浏览 复制 上一个帖子 下一个帖子
标签:

因为系统多处复杂查询的sql拼接,根据不同查询情况需要传递不同的参数,导致SQL 注入【严重】,请问这个情况有解决的办法吗?急急急!!!!

sql.append("select a.*,b.id deptid,org_name,province,city,area,street from zf_law_plan1 a,safe_org b where a.zf_deptid=b.id and func_status=1 ");
					if("0".equals(person)) {
						if(month!=null) {
							sql.append(" and plan_year like '%-"+month+"%' ");
						}
						if(year!=null) {
							sql.append(" and plan_year like '%"+year+"-%' ");
						}
					}else if("1".equals(person)) {
						sql.append(" and yearorperson = '"+personValue+"' ");
					}
					sql.append(" and zdspr = '"+Sess.getUser("id")+"' ");
					sql.append(" order by timestamp desc ");
4 回复

用@占位符

来自炫酷的 NutzCN

sql.append(" and c_userid = @id ");
sql12 = Sqls.create(sql.toString());
sql12.params().set("id", Sess.getUser("id"));
list1=dao.list(Sqls.create(sql12.toString()), Record.class);
这种方法可以防止sql注入吗

String sqlDesc = String
.format(" select HidTrouble_Desc from zf_check_info where HidTrouble_Code in (%s) ",
sqlW);
List listDesc = dao
.list(Sqls.create(sqlDesc), Record.class);
或者这种方法与上面那种相比那种能防止sql注入呢?

用@占位符就对了

来自炫酷的 NutzCN

添加回复
请先登陆
回到顶部