2014-11-20 52 views
0

我有一个网站,这是4年以前感染了病毒,创造了许多线程和假冒用户在ASP.NET社区希望(!):/论坛/会员/更好的花,Delivery- Your-Flower-Delivery-c-uj.aspx。如何阻止无效请求

这个网站是2年前重新设计,ASP.NET社区在全部拆除,但现在有很多请求被去我的网站(每2小时300个这样的虚假请求)!

当然请求者(机器人)中得到HTTP 404,但发送和发送这样的请求。是否有阻止这些请求的能力?我为什么要这样做?

  1. 我使用Azure上。所以,我支付每个传入的数据/ CPU时间以处理请求。
  2. 这些请求增加了垃圾统计,所以我应该检查它是什么。
+0

如果认为这将更适合ServerFault,因为应该在服务配置级别而不是在asp.net编程级别解决此问题。 – Filburt 2014-11-20 20:04:37

+0

嗯,如何在Azure上做到这一点? – 2014-11-20 20:06:15

+0

这就是我认为在SF的专业人士将能够告诉你。只需标记你的帖子以获得mod的关注,并要求将它迁移到那里。但当然你可以稍等一下,看看它是否在这里得到了答案。 – Filburt 2014-11-20 20:11:44

回答

0

你可以尝试做这样的事情:

  1. OnBeginRequest事件,与包含该用户藏在里面领域和一些特殊生成的数字或字符串只有一个HTML形式发送给用户一个假页面在页面加载后自动发送这个表格回到你的服务器由js。
  2. 在您的服务器,检查这个生成的号码,如果它是适用于该用户生成的Cookie,通知您的系统,这是真正的用户,有一个浏览器。

  3. 所以,如果用户有你生成的cookie与你产生的通行证,你是让你的服务器来处理此请求,如果没有,拒绝它。

此方法允许您控制系统处理哪个请求,因为通常机器人不会处理响应。

最好的问候,迪马。

+1

这会不会通过增加额外的服务器跳数来导致负载的大幅增加?因为'所以,我支付每个传入的数据/ CPU时间来处理请求。“ – alykins 2014-11-20 20:21:22

+0

您只会在一段时间内(用户生成的cookie有效期)为用户执行此操作。将cookie添加到客户端后,此cookie将与每个请求一起传递(此cookie将仅包含您的唯一编号或字符串,因此它将是非常小的cookie),因此您只需检查该cookie是否存在即可很好,这个请求可以被处理。当然,您可以测试此解决方案并尝试尽可能优化。但它只是您可以看到的方式,但我希望您能找到针对您的问题的更优雅的解决方案。 – 2014-11-20 21:18:38

+0

我只是一个传球者而且好奇 - 谢谢你的解释;我希望它也可以帮助OP。 – alykins 2014-11-20 21:33:25