限制用户以编程方式发布表单数据

时间:2015-08-15 01:14:11

标签: forms asp.net-4.0

我有一个非常旧的ASP.net应用程序,带有一个带有1个下拉框和2个文本框和一个提交按钮的Web窗体。 所有3个都是必填字段。根据输入的数据,一旦用户单击“提交”按钮,其他详细信息将显示在数据库的下一页上。

提交数据通过查询字符串发布,看起来像 http://myserver/myapp/search.aspx?f1=1&f2=tom&f3=sales

虽然应用程序正在做应该做的事情,但是最近我们遇到了很多问题:

由于对我们的数据感兴趣的几个实体编写程序以编程方式构建查询字符串并命中我们的服务器。 这会降低服务器的速度,手动搜索记录的普通用户也会面临很多缓慢的问题。

由于法律限制,我们无法实施CAPTCHA或让用户获得身份验证。

如果您有任何人遇到过这种情况以及您是如何处理它的话,我将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以实施基于源的速率限制。即每个IP地址只允许每分钟这么多请求。如果请求者发出太多请求,您只需拒绝请求。您还可以将过于激进的应用程序的IP地址列入黑名单。这两个策略都可以由HAProxynginx等负载均衡器强制执行。