From 9bc2d2981b540aa291cfecde5d33615df56a078b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 22 七月 2022 09:59:19 +0800 Subject: [PATCH] update springboot 2.7.1 => 2.7.2 update hutool 5.8.3 => 5.8.4 update okhttp 4.9.1 => 4.10.0 update lock4j 2.2.1 => 2.2.2 update aws-java-sdk-s3 1.12.248 => 1.12.264 修复依赖安全漏洞 update aliyun.sms 2.0.9 => 2.0.16 update tencent.sms 3.1.537 => 3.1.555 update guava 30.0-jre => 31.1-jre --- ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java index 8121e02..7891496 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java @@ -2,17 +2,26 @@ import com.ruoyi.common.exception.UtilException; import com.ruoyi.common.utils.StringUtils; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; /** * sql鎿嶄綔宸ュ叿绫� * * @author ruoyi */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) public class SqlUtil { + + /** + * 瀹氫箟甯哥敤鐨� sql鍏抽敭瀛� + */ + public static final String SQL_REGEX = "select |insert |delete |update |drop |count |exec |chr |mid |master |truncate |char |and |declare "; + /** * 浠呮敮鎸佸瓧姣嶃�佹暟瀛椼�佷笅鍒掔嚎銆佺┖鏍笺�侀�楀彿銆佸皬鏁扮偣锛堟敮鎸佸涓瓧娈垫帓搴忥級 */ - public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; + public static final String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; /** * 妫�鏌ュ瓧绗︼紝闃叉娉ㄥ叆缁曡繃 @@ -30,4 +39,19 @@ public static boolean isValidOrderBySql(String value) { return value.matches(SQL_PATTERN); } + + /** + * SQL鍏抽敭瀛楁鏌� + */ + public static void filterKeyword(String value) { + if (StringUtils.isEmpty(value)) { + return; + } + String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|"); + for (String sqlKeyword : sqlKeywords) { + if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1) { + throw new UtilException("鍙傛暟瀛樺湪SQL娉ㄥ叆椋庨櫓"); + } + } + } } -- Gitblit v1.9.3