【发布时间】:2014-10-27 08:43:04
【问题描述】:
我已经实现了一个在 SQL Server 上执行查询的 Web 服务 (C#)。我想限制执行次数以防止对 SQL 服务器的攻击(例如,在 20 秒内执行一次)。怎么做?
【问题讨论】:
-
每个用户的限制?或限制整个应用程序?
标签: c# sql sql-server web-services sql-server-2008
我已经实现了一个在 SQL Server 上执行查询的 Web 服务 (C#)。我想限制执行次数以防止对 SQL 服务器的攻击(例如,在 20 秒内执行一次)。怎么做?
【问题讨论】:
标签: c# sql sql-server web-services sql-server-2008
你为什么不limit the number of concurrent connections on the database?使用 SQL Server。它将为您处理并发,因此您不会让数据库被淹没。 如果你使用 WCF,你也可以实现throthling。 This article 解释了使用 WCF(单、多和可重入)实现并发的不同方法。 在 Single 上,Web 服务一次只处理一个请求,因此一次在数据库上处理一个请求。在 Multiple 上,您将处理多个线程,但结合 Throttling 您将能够限制并发请求的数量。
【讨论】:
应该可以在服务层检查请求,通过IP或其他信息拦截高频请求
【讨论】: