XssValidator.java 786 B

1234567891011121314151617181920212223242526272829
  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 final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
  14. @Override
  15. public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
  16. {
  17. return !containsHtml(value);
  18. }
  19. public boolean containsHtml(String value)
  20. {
  21. Pattern pattern = Pattern.compile(HTML_PATTERN);
  22. Matcher matcher = pattern.matcher(value);
  23. return matcher.matches();
  24. }
  25. }