我已经实现了一个在SQL Server上执行查询的Web服务(C#)。我想限制执行次数以防止对SQL服务器的攻击(例如,在20秒内执行一次)。怎么做?
答案 0 :(得分:0)
为什么不让你limit the number of concurrent connections on the database?使用SQL Server。它将为您处理并发性,因此您不会让数据库泛滥。 如果您使用的是WCF,还可以实施throthling。 This article解释了使用WCF(单个,多个和可重入)实现并发的不同方法。 在Single上,Web服务只会立即处理一个请求,因此会立即处理数据库。在Multiple上,您将处理多个线程,但与Throttling结合使用,您将能够限制并发请求的数量。
答案 1 :(得分:0)
它应该能够检查服务层中的请求,使用IP或其他信息来阻止高频率的请求