AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 771240
Accepted
user4052054
user4052054
Asked: 2016-04-19 10:11:25 +0800 CST2016-04-19 10:11:25 +0800 CST 2016-04-19 10:11:25 +0800 CST

网站如何检测代理或公司网络背后的机器人

  • 772

大型网站(例如维基百科)如何处理隐藏在其他 IP 掩码器后面的机器人?例如,在我的大学里,每个人都搜索维基百科,给它带来了很大的负担。但是,据我所知,维基百科只能知道大学路由器的 IP,所以如果我设置了一个“释放的”机器人(请求之间只有一点延迟),维基百科可以在不禁止整个组织的情况下禁止我的机器人吗?网站实际上可以禁止组织网络后面的 IP 吗?

web-crawler
  • 3 3 个回答
  • 3053 Views

3 个回答

  • Voted
  1. Best Answer
    Zypher
    2016-04-19T10:14:40+08:002016-04-19T10:14:40+08:00

    不,他们将禁止公共 IP,并且所有通过 NAT 访问该 IP 的人也将被禁止。

    虽然至少在堆栈如果我们认为我们要禁止一所大学或类似的东西,我们会联系他们的滥用联系人,让他们追踪罪犯并停止问题。

    • 21
  2. Carcer
    2016-04-19T15:46:56+08:002016-04-19T15:46:56+08:00

    站点不能直接禁止 NAT 后面的 IP。它可以作用于通过非匿名 HTTP 代理传递的 IP - 当这样的代理转发请求时,它通常将该地址附加到 X-Forwarded-For 标头,因此如果来自您的私有网络的访问实际上必须通过这样的代理内部IP可能会被暴露;但是大多数网站(包括维基百科)无论如何都不会信任该标头中的信息,因为它很容易被欺骗以牵连无辜的 IP 或逃避禁令。

    然而,还有其他技术试图独立于 IP 地址来唯一标识用户。您可以查询网络浏览器以获取有关它及其运行的系统的大量信息,例如用户代理、屏幕分辨率、插件列表等 - 请参阅https://github.com/carlo/jquery-浏览器指纹在实践中举一个例子。您可以使用此类指纹来控制访问,但根据站点设计,您可以在不参与指纹识别过程的情况下与之交互,即使您不能,机器人也可以提供虚假和随机数据以避免如果您知道这种保护已经到位,请使用一致的指纹。这种控制方法也存在误报的风险,尤其是当涉及到移动设备时,可能会有大量客户端在相同的库存硬件上运行相同的库存客户端(大多数人在特定型号的 iPhone 上运行特定版本的 iOS ,例如,可能会得到相同的指纹)。

    • 1
  3. Phil Hannent
    2016-04-20T00:05:06+08:002016-04-20T00:05:06+08:00

    通常,IP 地址不足以提供正确的禁令信息。因此,高级网络在网络堆栈的高处工作。

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

    连接到服务器后,您可以发出任意数量的请求,Web 服务器管理可以配置要处理的请求数。

    无论如何,Web 服务器可能比您的本地网络网关处理更多的容量,这可能是您的用例中的限制因素。我敢打赌,你的大学网络管理员会在维基百科之前敲你的门。

    成为一名优秀的互联网公民很重要,因此我将向机器人添加速率限制代码。

    还应该指出的是,维基百科提供数据转储,因此对网站进行拖网搜索并不是真正必要的。

    • 0

相关问题

  • 防火墙 - 防止内容盗窃和流氓爬虫

  • 将结果扔进 mysql 的站点爬虫/蜘蛛

  • 我如何知道 Google 抓取我的网站的频率?

  • 我如何在 linux 内核上运行 nutch?

  • Sharepoint Crawler 被拒绝访问网站

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve