Commit bb5842a2344d845b22e4c38435ba156da46a9073
1 parent
6b52b7ba
改掉sql拼接(sql注入漏洞)。
Showing
1 changed file
with
47 additions
and
21 deletions
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| @@ -828,31 +828,38 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -828,31 +828,38 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 828 | 828 | ||
| 829 | try { | 829 | try { |
| 830 | 830 | ||
| 831 | - String where = ""; | 831 | + List<String> objList = new ArrayList<String>(); |
| 832 | + String sql = "select id, schedule_date_str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type, xl_bm, fgs_bm," | ||
| 833 | + + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" | ||
| 834 | + + " ,cc_service from bsth_c_s_sp_info_real where schedule_date_str >= ? and schedule_date_str <= ?"; | ||
| 835 | + objList.add(startDate); | ||
| 836 | + objList.add(endDate); | ||
| 837 | + | ||
| 832 | if(line.length() != 0 && statu.equals("1")){ | 838 | if(line.length() != 0 && statu.equals("1")){ |
| 833 | - where += " and xl_bm = '"+line+"'"; | 839 | + sql += " and xl_bm = ?"; |
| 840 | + objList.add(line); | ||
| 834 | } | 841 | } |
| 835 | if(lp.length() != 0 && statu.equals("1")){ | 842 | if(lp.length() != 0 && statu.equals("1")){ |
| 836 | - where += " and lp_name = '"+lp+"'"; | 843 | + sql += " and lp_name = ?"; |
| 844 | + objList.add(lp); | ||
| 837 | } | 845 | } |
| 838 | if(company.length() != 0){ | 846 | if(company.length() != 0){ |
| 839 | - where += " and gs_bm = '"+company+"'"; | 847 | + sql += " and gs_bm = ?"; |
| 848 | + objList.add(company); | ||
| 840 | } | 849 | } |
| 841 | if(subCompany.length() != 0){ | 850 | if(subCompany.length() != 0){ |
| 842 | - where += " and fgs_bm = '"+subCompany+"'"; | 851 | + sql += " and fgs_bm = ?"; |
| 852 | + objList.add(subCompany); | ||
| 843 | } | 853 | } |
| 844 | if(sfqr == 1){ | 854 | if(sfqr == 1){ |
| 845 | - where += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'"; | 855 | + sql += " and zdsj >= ? and fcsj <= ?"; |
| 856 | + objList.add(times1); | ||
| 857 | + objList.add(times2); | ||
| 846 | } | 858 | } |
| 847 | -// where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | ||
| 848 | - where += " and bc_type != 'ldks'"; | ||
| 849 | - | ||
| 850 | - String sql = "select id, schedule_date_str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type, xl_bm, fgs_bm," | ||
| 851 | - + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" | ||
| 852 | - + " ,cc_service from bsth_c_s_sp_info_real where schedule_date_str >= '"+startDate+"'" | ||
| 853 | - + " and schedule_date_str <= '"+endDate+"'"+where+""; | 859 | + sql += " and bc_type != 'ldks'"; |
| 854 | 860 | ||
| 855 | list = jdbcTemplate.query(sql, | 861 | list = jdbcTemplate.query(sql, |
| 862 | + objList.toArray(), | ||
| 856 | new RowMapper<ScheduleRealInfo>(){ | 863 | new RowMapper<ScheduleRealInfo>(){ |
| 857 | @Override | 864 | @Override |
| 858 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 865 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| @@ -932,23 +939,32 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -932,23 +939,32 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 932 | { | 939 | { |
| 933 | List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>(); | 940 | List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>(); |
| 934 | List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>(); | 941 | List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>(); |
| 942 | + | ||
| 943 | + List<String> objList2 = new ArrayList<String>(); | ||
| 935 | sql = "select id, lp, fcsj, xl_bm, tt_info from bsth_c_s_sp_info where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 944 | sql = "select id, lp, fcsj, xl_bm, tt_info from bsth_c_s_sp_info where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 936 | 945 | ||
| 937 | if(startDate.equals(endDate)){ | 946 | if(startDate.equals(endDate)){ |
| 938 | - sql += " and schedule_date = '"+startDate+"'"; | 947 | + sql += " and schedule_date = ?"; |
| 948 | + objList2.add(startDate); | ||
| 939 | } else { | 949 | } else { |
| 940 | - sql += " and schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'"; | 950 | + sql += " and schedule_date >= ? and schedule_date <= ?"; |
| 951 | + objList2.add(startDate); | ||
| 952 | + objList2.add(endDate); | ||
| 941 | } | 953 | } |
| 942 | if(line.length() != 0 && statu.equals("1")){ | 954 | if(line.length() != 0 && statu.equals("1")){ |
| 943 | - sql += " and xl_bm = '"+line+"'"; | 955 | + sql += " and xl_bm = ?"; |
| 956 | + objList2.add(line); | ||
| 944 | } | 957 | } |
| 945 | if(company.length() != 0){ | 958 | if(company.length() != 0){ |
| 946 | - sql += " and gs_bm = '"+company+"'"; | 959 | + sql += " and gs_bm = ?"; |
| 960 | + objList2.add(company); | ||
| 947 | } | 961 | } |
| 948 | if(subCompany.length() != 0){ | 962 | if(subCompany.length() != 0){ |
| 949 | - sql += " and fgs_bm = '"+subCompany+"'"; | 963 | + sql += " and fgs_bm = ?"; |
| 964 | + objList2.add(subCompany); | ||
| 950 | } | 965 | } |
| 951 | temp1 = jdbcTemplate.query(sql, | 966 | temp1 = jdbcTemplate.query(sql, |
| 967 | + objList2.toArray(), | ||
| 952 | new RowMapper<Map<String, String>>(){ | 968 | new RowMapper<Map<String, String>>(){ |
| 953 | @Override | 969 | @Override |
| 954 | public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException { | 970 | public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| @@ -961,13 +977,17 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -961,13 +977,17 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 961 | return m; | 977 | return m; |
| 962 | } | 978 | } |
| 963 | }); | 979 | }); |
| 980 | + | ||
| 981 | + List<String> objList3 = new ArrayList<String>(); | ||
| 964 | sql = "select * from bsth_c_s_ttinfo_detail where ists = 1" | 982 | sql = "select * from bsth_c_s_ttinfo_detail where ists = 1" |
| 965 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 983 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 966 | 984 | ||
| 967 | if(line.length() != 0 && statu.equals("1")){ | 985 | if(line.length() != 0 && statu.equals("1")){ |
| 968 | - sql += " and xl = '"+line+"'"; | 986 | + sql += " and xl = ?"; |
| 987 | + objList3.add(line); | ||
| 969 | } | 988 | } |
| 970 | temp2 = jdbcTemplate.query(sql, | 989 | temp2 = jdbcTemplate.query(sql, |
| 990 | + objList.toArray(), | ||
| 971 | new RowMapper<Map<String, String>>(){ | 991 | new RowMapper<Map<String, String>>(){ |
| 972 | @Override | 992 | @Override |
| 973 | public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException { | 993 | public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| @@ -998,6 +1018,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -998,6 +1018,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 998 | if(id1 == 0 || id1 > s.getId()) | 1018 | if(id1 == 0 || id1 > s.getId()) |
| 999 | id1 = s.getId(); | 1019 | id1 = s.getId(); |
| 1000 | } | 1020 | } |
| 1021 | + | ||
| 1001 | sql = "select destroy, start_date, end_date, mileage, mileage_type, schedule from bsth_c_s_child_task"; | 1022 | sql = "select destroy, start_date, end_date, mileage, mileage_type, schedule from bsth_c_s_child_task"; |
| 1002 | sql += " where id >= "+id1+" and id <= "+id2+" order by start_date"; | 1023 | sql += " where id >= "+id1+" and id <= "+id2+" order by start_date"; |
| 1003 | 1024 | ||
| @@ -1017,12 +1038,17 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1017,12 +1038,17 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1017 | }); | 1038 | }); |
| 1018 | 1039 | ||
| 1019 | if(model.length() != 0){ | 1040 | if(model.length() != 0){ |
| 1041 | + List<String> objList4 = new ArrayList<String>(); | ||
| 1020 | sql = "select sp.id from " | 1042 | sql = "select sp.id from " |
| 1021 | - + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'" | ||
| 1022 | - + " and tt_info = '" + model + "' and bc_type != 'ldks') sp" | 1043 | + + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= ? and schedule_date <= ?" |
| 1044 | + + " and tt_info = ? and bc_type != 'ldks') sp" | ||
| 1023 | + " left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj"; | 1045 | + " left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj"; |
| 1046 | + objList4.add(startDate); | ||
| 1047 | + objList4.add(endDate); | ||
| 1048 | + objList4.add(model); | ||
| 1024 | 1049 | ||
| 1025 | ttList = jdbcTemplate.query(sql, | 1050 | ttList = jdbcTemplate.query(sql, |
| 1051 | + objList4.toArray(), | ||
| 1026 | new RowMapper<Map<String, Object>>(){ | 1052 | new RowMapper<Map<String, Object>>(){ |
| 1027 | @Override | 1053 | @Override |
| 1028 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 1054 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |