网站如何检测代理或公司networking后面的漫游器

大型网站(如维基百科)如何处理其他IP掩码背后的僵尸程序? 例如,在我的大学里,每个人都search维基百科,给它一个很大的负担。 但是,据我所知,维基百科只能知道大学路由器的IP,所以如果我build立一个“释放”的机器人(请求之间只有很小的延迟),维基百科可以禁止我的机器人,而不禁止整个组织? 一个网站实际上是否可以禁止组织networking背后的IP?

不,他们会禁止公共知识产权,所有NAT的人也将被禁止。

尽pipe至less在我们认为我们要禁止大学或类似的事情的时候,我们会联系到他们的虐待者,让他们追踪罪犯并阻止这个问题。

站点不能直接禁止NAT后面的IP。 它可以对通过非匿名HTTP代理传递的IP起作用 – 当这样的代理转发请求时,它通常将该地址附加到X-Forwarded-For头部,所以如果来自你的专用networking的访问实际上必须通过这样的代理内部IP可能被暴露; 然而,大多数网站(包括维基百科)不会信任该头中的信息,因为很容易欺骗暗示无辜的IP或逃避禁令。

然而,还有其他技术试图独立识别IP地址的用户。 您可以询问Web浏览器获取大量关于它的信息以及它正在运行的系统信息,例如用户代理,屏幕分辨率,插件列表等。 – 请参阅https://github.com/carlo/jquery-浏览器指纹为例,在实践中。 您可以使用这样的指纹来控制访问,尽pipe取决于网站devise,您可能能够与其进行交互,而无需使用指纹识别过程,即使您不能提供虚假和随机数据以避免出现一致的指纹,如果你知道这种保护是到位的。 这种控制方法也存在误报的风险,特别是当移动设备可能有大量客户在相同的库存硬件上运行相同的库存客户时(大多数人在运行特定版本iOS的iPhone的特定模型上,例如,可能会得到相同的指纹)。 像这样的指纹通常只是用于用户跟踪,而不是强制执行控制,但是我知道有些地方使用指纹来实现禁止,当有一个IP块太宽泛的问题,并可能对一个天真的机器人有效。

一般来说,IP地址不足以实现正确的禁止。 所以先进的networking在networking堆栈上工作。

拒绝服务(DoS)攻击(您担心创build)通常是通过对初始TCP连接设置进行速率限制来处理的。 这意味着愿意等待的合法用户将会获得通过,而那些只是试图占用服务器资源的用户将会减慢到无害的程度。 这就是DoS演变成分布式DoS(DDoS)攻击的原因。

一旦连接到服务器,您可以根据需要进行多次请求,Web服务器pipe理可以configuration处理多less个请求。

Web服务器可能可以处理比本地网关更多的容量,这可能是您的使用情况的限制因素。 我打赌你的大学networkingpipe理员会在维基百科之前敲门。

成为一个好的互联网公民是非常重要的,所以我会把速率限制代码添加到机器人。

还应该指出,维基百科提供数据转储,以便拖网的网站是不是真的有必要。