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

最低0.47元/天 解锁文章
1158

被折叠的 条评论
为什么被折叠?



