我正在寻找一种便宜的好方法来防止对我的ASP.NET MVC网站进行拒绝服务攻击。
我一直在考虑一种解决方案,该解决方案可以拦截HttpHandler,然后对Cache对象中的请求进行计数,其密钥类似于“ RequestCount_ [IpAddressOfRequestClient]”,但似乎会产生疯狂的开销。
任何想法将不胜感激。谢谢!
最佳答案
您可能考虑尝试限制请求。通过IP和/或Cookie识别用户,并将请求限制为(例如)每两秒1个。人类不会注意到,但这会大大降低机器人的速度。
这对应用程序级别有帮助(保护您的应用程序/数据库),但这不是一个完整的解决方案,因为命中仍在网络级别。
作为防御的第一线,我可能会依赖硬件。许多ISP提供某种保护,例如:http://www.softlayer.com/facilities_network_n2.html