起因 线上项目突然遭到大量的非法参数攻击,由于历史问题,之前的代码从未对请求参数进行校验. 导致大量请求落到了数据访问层,给应用服务器和数据库都带来了很大压力. 针对这个问题,只能对请求真正到Controller方法调用之前直接将非法参数请求拒绝掉,所以在Filter中对参数进行统一校验,非法参数直接返回400. 定义参数检查规则: 先检查uri是否需要拦截 再检查请求参数是否合法:对于请求参数的检查,如果有值,不能存在非法值 最后检查cookie是否正确:检查必须存在的cookie参数 代码示…