XssValidator.java 897 B

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