Java正则表达式防注入小例子

Posted 一菲聪天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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     }
View Code

代码如上

以上是关于Java正则表达式防注入小例子的主要内容,如果未能解决你的问题,请参考以下文章

通过 Java 正则表达式提取 semver 版本字符串的片段

java 字符串替换

java:正则表达式检查SQL WHERE条件语句防止注入攻击和常量表达式

什么是 注入类、宿主类(java)?

Java提取文本文档中的所有网址(小案例介绍正则基础知识)

Java 防SQL注入过滤器(拦截器)代码