任何非客户端的$ .active等价物?

时间:2011-09-16 00:56:37

标签: jquery http post

我有一个我在MVC3 .Net中运行的浏览器游戏。因为每个人都需要在一个公平的竞争环境中,为了阻止人们使用宏以每小时一百万英里的速度点击鼠标,我只需添加:

    if ($.active < 10) { //stuff }

到我的javascript。很好,工作得很好,但由于它是客户端,很难相信。我试图复制这个服务器端,但是我在尝试找到一个等价物时遇到了一些麻烦。有没有其他人可以想到将这种类型的设置移动到更好? IIS中的设置,web.config设置?我环顾互联网,无法找到任何类似的东西。

思想?

1 个答案:

答案 0 :(得分:0)

通常的服务器端解决方案称为“速率限制”。您可以从特定客户端识别服务器上的相关请求,跟踪这些请求到达的速度,并选择每秒最大数量的请求数或您允许的每分钟请求数。如果超过该数量,您可以决定部署什么策略。您可以延迟它们,返回错误,断开它们,注销用户等等...有时,选择一种策略可以让客户不知道它受到速率限制,因此无法有意识地检测和适应试图最大化它的吞吐量。

您可以根据需要获得详细信息,甚至可以根据需要为API中的不同操作选择不同的速率限制策略。

您尝试选择一个数字来限制合法真实用户永远不会遇到的速率限制,但显然会让机器不会滥用您的服务器或游戏逻辑。