防止ASP.Net核心中的分布式拒绝服务和拒绝服务攻击的最佳方法是什么?
如何在请求管道或单独的中间件中处理保护?
答案 0 :(得分:2)
除了可以(并且应该)在请求到达您的应用程序之前(例如,在Web服务器本身中)实施的明显缓解措施之外,还有许多方法可以实现所谓的 request throttling 在您的管道中。
幸运的是,您不需要重新发明轮子。有很多NuGet软件包和开源项目可以解决这个问题,您可以从中学习。
其实质是,您在交叉检查每单位时间请求限制并在需要时施加冷静期的同时,拦截传入的请求并保留诸如请求URI和IP之类的内容。
不用说,您应该将它放在应用程序的请求管道中尽可能的远。
following不是软件推荐,而是更多示例来了解如何构建这种中间件 。从中掌握流程的基础确实并不难。