import java.util.regex.Pattern;
public class SqlCheckUtil {
private static String reg = "(?:')|(?:--)|(/\\*(?:.|[\\n\\r])*?\\*/)|"
+ "(\\b(select|update|union|and|or|delete|insert|truncate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute)\\b)";
private static Pattern sqlPattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
public static boolean checkSql(String paramStr) {
if (paramStr == null || StringUtils.isEmpty(paramStr)) return false;
if (sqlPattern.matcher(paramStr).find()) {
return false;
}
return true;
}
public static String getValidSql(String paramStr) throws Exception {
if(checkSql(paramStr)) return paramStr;
throw new Exception(ExceptionEnumCommon.EXCEPTION_005,"含有非法字符,请检查!");
}
}
cs