预防Dos攻击

Dos----拒绝服务攻击,一般是构造特殊的输入,使得后台的处理耗时远超正常水平,随着请求越来越多,后台服务越发疲于奔命,最后因资源耗尽,无法再接受新的请求,最终造成拒绝服务的效果。

特殊输入例如:
分页查询时传一个很大的pageSize;
入参是一个很大的集合。

对于前者,做一个公共函数检查pageSize的大小,确定合理的范围即可。
对于后者,往往是在post请求里,可以做一个filter来处理所有的incoming request。参考了一些资料,样例代码如下:

@Component
public class BodySizeLimitFilter implements Filter {
   
   

    private static final List<String> METHODS_WITH_BODY = Collections.unmodifiableList(
        Arrays.asList("POST", "PUT", "OPTIONS", "DELETE", "PATCH"));

    private static final String CONTENT_LENGTH_HEADER = "Content-Length";

    private static final int TOO_LARGE_STATUS = 413;

    @Value("${reqbody.maxsize:4096}")
    private long contentLengthLimit;

    @Override
    public void doFilter(ServletRequest request, ServletRespon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值