如何检测通过Tor匿名发送的入站HTTP请求?

Dre*_*kes 6 security denial-of-service tor network-security

我正在开发一个网站,并且对屏幕抓取我的数据敏感.我并不担心刮掉一两页 - 我更关心的是有人抓了数千页,因为这些数据的总量比一小部分更有价值.

我可以想象基于来自单个IP地址的大量流量来阻止用户的策略,但Tor网络设置了许多电路,这实际上意味着单个用户的流量似乎来自不同的IP地址.

我知道有可能检测到Tor流量,因为当我安装Vidalia及其Firefox扩展时,google.com向我提供了验证码.

那么,我该如何检测这些请求呢?

(我的网站是在ASP.NET MVC 2中,但我认为这里使用的任何方法都是语言无关的)

Ail*_*lyn 13

我正在开发一个网站,并且对屏幕抓取我的数据敏感

忘掉它.如果它在网上并且有人想要它,就不可能阻止它们获取它.您实施的限制越多,您就越有可能破坏合法用户的用户体验,合法用户有望成为您的大多数受众.它还使代码难以维护.

我将针对未来答案提出的任何想法发布对策.

  • 我同意Aillyn的意见; 几乎不可能阻止某人屏幕抓取您的网站.寻求防止它的选项只会花费更多时间来改善网站的其他方面.专注于使您的网站与屏幕抓取器相比更独特和更好的事物.比如Stack Overflow:它被大量的底部进料器刮掉了,但这并不能阻止它有用或太棒了. (2认同)

roo*_*ook 5

您可以根据Tor 出口节点列表检查它们的 IP 地址。我知道事实上这甚至不会减慢那些有兴趣抓取您网站的人的速度。Tor 太慢了,大多数爬虫甚至不会考虑它。有数以万计的开放代理服务器,可以轻松扫描或购买列表。代理服务器很好,因为如果您的请求上限达到了,您可以对它们进行线程化或轮换。

Google 已被 Tor 用户滥用,并且大多数退出节点都在 Google 黑名单上,这就是您获得验证码的原因。

让我完全明确地说: 您无法阻止某人抓取您的网站。

  • @Drew Noakes 我不同意代理服务器绝对是正确的选择,它速度更快,并且可以更好地控制您的 IP 地址。另外,顺便说一句,IP 地址很便宜,就像一分钱一分钱一样,你可以购买一个巨大的区块,然后撕毁一些网站。您需要想出一种适用于互联网的商业模式。当人们在信息时代试图限制访问时,我感到难以置信。我感觉您的下一个问题是如何实施有效的 DRM。 (2认同)
  • @Drew Noakes 我想你没有抓住我的意思。DRM 根本不做任何事情,就像这个伪造的安全系统一样。它无法阻止任何事情(thepiratebay.com),试图阻止报废的想法和 DRM 的想法都是由不理解的人构想出来的。 (2认同)