private static boolean checkData(String inputData){ if (StringUtils.isNoneEmpty(inputData)){ inputData=inputData.toLowerCase(); inputData=inputData.replace("%3c","<").replace("%3e",">"); String reg=""; //String reg = "(?:')|(?:--)|(/\\*(?:.|[\\n\\r])*?\\*/)|(\\b(select|update|and|or|delete|insert|trancate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute|alert|confirm|prompt|onmouseover|onmouseout|char|document)\\b)"; reg="<[^>]+?style=[\\w]+?:expression\\(|\\b(alert|confirm|prompt|onmouseover|onmouseout|style)\\b|^\\+/v(8|9)|<[^>]*?=[^>]*?&#[^>]*?>|\\b(and|or)\\b.{1,6}?(=|%|&|>|<|\\bin\\b|\\blike\\b)|/\\*.+?\\*/|<\\s*script\\b|<\\s*img\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"; reg=reg.toLowerCase(); Pattern sqlPattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE); if (sqlPattern.matcher(inputData).find()) { return false;//未通过 } else{ return true;//通过 } }else{ return true; } }