Java正则表达式防注入小例子
1 /** 2 * 第一行匹配特殊字符; 3 * 第二行匹配开头和结尾都有空格的; 4 * 第三行匹配结尾有空格的 5 * */ 6 private Boolean DetermineChar(String reqData, String respData) { 7 String reg = "@@|==|--|!|\\!|" 8 + "\\s(union|and|or|where|exec|like|from|trancate|char|substr|ascii|count|into)\\s|"+ 9 "\\b(select|update|delete|insert|trancate|char|alter|substr|ascii|declare|exec|drop)\\s"; 10 Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);//不区分大小写 11 12 if (pattern.matcher(reqData).find() || pattern.matcher(respData).find()) 13 return true; 14 return false; 15 }
代码如上