Commit 068b7f39b55db60bcfdc517130d11866c5f20d5c

Authored by 王通
1 parent 82f268f4

1.sql注入过滤开启

src/main/java/com/bsth/filter/SQLInjectFilter.java
1 -package com.bsth.filter;  
2 -  
3 -import org.springframework.stereotype.Component;  
4 -  
5 -import javax.servlet.FilterChain;  
6 -import javax.servlet.ServletException;  
7 -import javax.servlet.http.HttpServletRequest;  
8 -import javax.servlet.http.HttpServletResponse;  
9 -import java.io.IOException;  
10 -import java.util.Enumeration;  
11 -  
12 -//@Component  
13 -public class SQLInjectFilter extends BaseFilter{  
14 -  
15 - @Override  
16 - public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)  
17 - throws IOException, ServletException {  
18 - //获取请求对象中的参数名称  
19 - Enumeration enu = request.getParameterNames();  
20 -  
21 - //遍历枚举  
22 - while (enu.hasMoreElements()) {  
23 - //取参数名  
24 - String paraName = (String)enu.nextElement();  
25 -  
26 - //取参数值并校验  
27 - if (isSqlInject(request.getParameter(paraName))) {  
28 - return;  
29 - }  
30 - }  
31 - //校验完毕,放行  
32 - chain.doFilter(request, response);  
33 - }  
34 -  
35 - private static boolean isSqlInject(String injectStr) {  
36 - String injStr = "'|and|exec|create|insert|select|delete|update|count|*|%|chr|mid|master|truncate|drop|char|declare|;|or|-|+|,";  
37 - String injStrArr[] = injStr.split("\\|");  
38 - injectStr = injectStr.toLowerCase();  
39 - for (int i = 0; i < injStrArr.length; i++) {  
40 - if (injectStr.indexOf(injStrArr[i]) >= 0) {  
41 - return true;  
42 - }  
43 - }  
44 - return false;  
45 - }  
46 -} 1 +package com.bsth.filter;
  2 +
  3 +import org.springframework.stereotype.Component;
  4 +
  5 +import javax.servlet.FilterChain;
  6 +import javax.servlet.ServletException;
  7 +import javax.servlet.http.HttpServletRequest;
  8 +import javax.servlet.http.HttpServletResponse;
  9 +import java.io.IOException;
  10 +import java.util.Enumeration;
  11 +
  12 +@Component
  13 +public class SQLInjectFilter extends BaseFilter{
  14 +
  15 + @Override
  16 + public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
  17 + throws IOException, ServletException {
  18 + //获取请求对象中的参数名称
  19 + Enumeration enu = request.getParameterNames();
  20 +
  21 + //遍历枚举
  22 + while (enu.hasMoreElements()) {
  23 + //取参数名
  24 + String paraName = (String)enu.nextElement();
  25 +
  26 + //取参数值并校验
  27 + if (isSqlInject(request.getParameter(paraName))) {
  28 + return;
  29 + }
  30 + }
  31 + //校验完毕,放行
  32 + chain.doFilter(request, response);
  33 + }
  34 +
  35 + private static boolean isSqlInject(String injectStr) {
  36 + String injStr = "'|and|exec|create|insert|select|delete|update|count|*|%|chr|mid|master|truncate|drop|char|declare|;|or|-|+|,";
  37 + String injStrArr[] = injStr.split("\\|");
  38 + injectStr = injectStr.toLowerCase();
  39 + for (int i = 0; i < injStrArr.length; i++) {
  40 + if (injectStr.indexOf(injStrArr[i]) >= 0) {
  41 + return true;
  42 + }
  43 + }
  44 + return false;
  45 + }
  46 +}