liangzy 发表于 2018-8-1 10:49:58

findForJdbc 方法,SQL拼字符串,能防SQL注入么??

版本: 3.7.7 : 你们源码中有,有如下拼字符串的SQL: 能防SQL注入么::

String getCountSql ="SELECT count(notice.id) as count FROM t_s_notice notice LEFT JOIN t_s_notice_read_user noticeRead ONnotice.id = noticeRead.notice_id "
                                        + "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = '"+user.getId()+"' and noticeRead.is_read = 0";
                        List<Map<String, Object>> resultList2 =systemService.findForJdbc(getCountSql);    ,   

这是demo 源码上写得 的,怎样才能防SQL注入??

还是你们已处理过了???

admin 发表于 2018-8-1 11:16:42

收录

liangzy 发表于 2018-8-1 11:34:39

spring-mvc.xml; 有一个 SQL注入拦截器:
1.SQL注入拦截器 (暂时注释掉提高平台性能,需要此功能,可以放开注释)
2.然后再加上自已的内容上去,应该是可以了。

liangzy 发表于 2018-8-1 17:25:50

还可以用这个方法:findForJdbcParam
把上面代码改下,
String getCountSql ="SELECT count(notice.id) as count FROM t_s_notice notice LEFT JOIN t_s_notice_read_user noticeRead ONnotice.id = noticeRead.notice_id "
                                        + "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = ? and noticeRead.is_read = 0";
                        List<Map<String, Object>> resultList2 =systemService.findForJdbcParam(getCountSql,new Object[]{user.getId()});   

admin 发表于 2018-8-1 19:29:26

3Q

jeecg_ty 发表于 2018-8-2 14:22:19

哥,user.getid这个user是怎么来的?sql注入还能通过改变我session中的变量达到目的的吗?:dizzy::dizzy:

liangzy 发表于 2018-8-5 07:49:48

jeecg_ty 发表于 2018-8-2 14:22 static/image/common/back.gif
哥,user.getid这个user是怎么来的?sql注入还能通过改变我session中的变量达到目的的吗? ...

user.getid, 这只是取值而已,具体看你情况了,就是页面输入的查询条件,
不明白session 跟 sql注入有什么联系??
页: [1]
查看完整版本: findForJdbc 方法,SQL拼字符串,能防SQL注入么??