spring boot使用切面对HTTP传入的参数做防sql和非法字符串检测

spring boot使用切面对HTTP传入的参数做防sql和非法字符串检测


首先要构建一个spring boot工程,这个非常简单。
本文的重点是使用切面对controller层接入的外参进行sql注入检测和非法字符串检测

1. 创建一个接口

@RestController
public class TestController {
    @GetMapping("/hello/{str}")
    public String getStr(@PathVariable("str")String str){
        return str;
    }
}

2. 我们需要对传入的str字符串进行检测,创建一个切面

@Component
@Aspect
public class CheckInputParameterAspect {

    private static final Log Logger = LogFactory.getLog(CheckInputParameterAspect.class);

    // 存在SQL注入风险
    private static final String IS_SQL_INJECTION = "输入参数存在SQL注入风险";

    private static final String UNVALIDATED_INPUT = "输入参数含有非法字符";

    private static final String ERORR_INPUT = "输入的参数非法";

    /**
     * 定义切入点:拦截controller层所有方法
     */
    @Pointcut("execution(* com.compass.yu.controller..*(..))")
    public void params() {
    }

    /**
     * 定义环绕通知
     * 
     * 
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ripley_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值