【问题标题】:Limit the number of sql queries executions限制sql查询执行次数
【发布时间】:2014-10-27 08:43:04
【问题描述】:

我已经实现了一个在 SQL Server 上执行查询的 Web 服务 (C#)。我想限制执行次数以防止对 SQL 服务器的攻击(例如,在 20 秒内执行一次)。怎么做?

【问题讨论】:

  • 每个用户的限制?或限制整个应用程序?

标签: c# sql sql-server web-services sql-server-2008


【解决方案1】:

你为什么不limit the number of concurrent connections on the database?使用 SQL Server。它将为您处理并发,因此您不会让数据库被淹没。 如果你使用 WCF,你也可以实现throthlingThis article 解释了使用 WCF(单、多和可重入)实现并发的不同方法。 在 Single 上,Web 服务一次只处理一个请求,因此一次在数据库上处理一个请求。在 Multiple 上,您将处理多个线程,但结合 Throttling 您将能够限制并发请求的数量。

【讨论】:

    【解决方案2】:

    应该可以在服务层检查请求,通过IP或其他信息拦截高频请求

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2018-02-12
      • 2013-04-03
      相关资源
      最近更新 更多