防止sql注入%
This commit is contained in:
parent
2608079db1
commit
6427e0dd57
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.bonus.common.security.annotation;
|
||||||
|
|
||||||
|
import com.bonus.common.security.utils.NoPercentValidator;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验字符串不能包含 % 字符
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Constraint(validatedBy = NoPercentValidator.class) // 指定校验逻辑类
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER}) // 可以用在字段或方法参数上
|
||||||
|
@Retention(RetentionPolicy.RUNTIME) // 运行时生效
|
||||||
|
public @interface NoPercent {
|
||||||
|
String message() default "不能包含 % 字符"; // 默认错误消息
|
||||||
|
|
||||||
|
Class<?>[] groups() default {}; // 校验分组
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.bonus.common.security.utils;
|
||||||
|
|
||||||
|
import com.bonus.common.security.annotation.NoPercent;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验字符串是否包含 % 的实现类
|
||||||
|
*/
|
||||||
|
public class NoPercentValidator implements ConstraintValidator<NoPercent, String> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(String value, ConstraintValidatorContext context) {
|
||||||
|
if (value == null) {
|
||||||
|
return true; // 如果允许 null,返回 true;否则改为 false
|
||||||
|
}
|
||||||
|
return !value.contains("%"); // 如果不包含 % 则校验通过
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue