From eae8ff9771de002f800bd11fd6fa3e238e9ef94c Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 21 十月 2024 16:28:27 +0800 Subject: [PATCH] 优化权限更新后同步缓存 --- src/main/java/com/ruoyi/common/xss/XssValidator.java | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ruoyi/common/xss/XssValidator.java b/src/main/java/com/ruoyi/common/xss/XssValidator.java index 4316372..b859428 100644 --- a/src/main/java/com/ruoyi/common/xss/XssValidator.java +++ b/src/main/java/com/ruoyi/common/xss/XssValidator.java @@ -1,5 +1,6 @@ package com.ruoyi.common.xss; +import com.ruoyi.common.utils.StringUtils; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import java.util.regex.Matcher; @@ -12,18 +13,27 @@ */ public class XssValidator implements ConstraintValidator<Xss, String> { - private final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />"; + private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />"; @Override public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + if (StringUtils.isBlank(value)) + { + return true; + } return !containsHtml(value); } - public boolean containsHtml(String value) + public static boolean containsHtml(String value) { + StringBuilder sHtml = new StringBuilder(); Pattern pattern = Pattern.compile(HTML_PATTERN); Matcher matcher = pattern.matcher(value); - return matcher.matches(); + while (matcher.find()) + { + sHtml.append(matcher.group()); + } + return pattern.matcher(sHtml).matches(); } } \ No newline at end of file -- Gitblit v1.9.3