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 +}
... ...