XssValidator.java 879 B

1234567891011121314151617181920212223242526272829303132
  1. package com.ruoyi.common.xss;
  2. import javax.validation.ConstraintValidator;
  3. import javax.validation.ConstraintValidatorContext;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6. /**
  7. * 自定义xss校验注解实现
  8. *
  9. * @author ruoyi
  10. */
  11. public class XssValidator implements ConstraintValidator<Xss, String>
  12. {
  13. private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
  14. @Override
  15. public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
  16. {
  17. if (StringUtils.isBlank(value)){
  18. return true;
  19. }
  20. return !containsHtml(value);
  21. }
  22. public static boolean containsHtml(String value)
  23. {
  24. Pattern pattern = Pattern.compile(HTML_PATTERN);
  25. Matcher matcher = pattern.matcher(value);
  26. return matcher.matches();
  27. }
  28. }