我们经常将“机器人”一词视为负面。然而,并非所有机器人都是坏的。问题在于,好的机器人可能与恶意机器人具有相似的特征。因此,好的机器人流量会被误认为是坏的并被阻止。
坏机器人变得越来越聪明,其他机器人很难不被阻止。这不仅给网站所有者带来了确保网站健康运行的问题,也给网络抓取社区带来了很多问题。
虽然我们已经介绍了什么是机器人,但在本文中,我们将更深入地探讨机器人的活动、如何检测和阻止机器人流量,以及它如何影响企业。
什么是机器人流量?
机器人流量是指任何非人为的对网站的访问。它是一种运行自动化和重复任务的软件应用程序,速度比人类快得多。
由于能够非常快速地执行任务,机器人可以被用于好的或坏的目的。在2022年,47.4%的在线流量来自机器人,其中30.2%是坏机器人。比2021年增加了2.5%。
流量机器人合法吗?
流量机器人的合法性严格取决于它们的使用方式。一般来说,不违反任何法律、法规和第三方权利的流量机器人可能不会被认为是非法的,而那些侵犯了这些法律、法规和权利的机器人(如DDoS僵尸网络)则是非法的。
坏机器人 vs. 好机器人
由于友好机器人也会改变网络流量指标并使分析不可靠,网站所有者在好坏机器人都增加的情况下加强了网站安全性,因此更多的机器人被错误地捕获。
为了更好地理解好机器人和坏机器人,让我们来看看一些例子:
好机器人
- 搜索引擎机器人——这些机器人爬取、分类和索引网页。搜索引擎(如谷歌)使用这些结果有效地提供服务。
- 网站监控机器人——监控网站以识别可能的问题,如加载时间过长、停机等。
- 网络抓取机器人——如果抓取的数据是公开可用的,这些数据可以用于研究、识别和删除非法广告、品牌监控等。
坏机器人
- 垃圾邮件机器人——用于垃圾邮件目的。通常用于在论坛、社交媒体平台、消息应用程序等上创建虚假用户账户。它们被用来建立社交媒体存在感,增加帖子点击量等。
- DDoS攻击机器人——一些恶意机器人被创建来攻击网站。DDoS攻击通常会留下足够的带宽,使其他攻击能够进入网络,并通过削弱的网络安全层未被检测到,从而窃取敏感信息。
- 广告欺诈机器人——这些机器人自动点击广告,从广告交易中吸走资金。
因此,“好”机器人是指执行有用或有帮助任务且不损害用户互联网体验的机器人。而坏机器人则正好相反,在大多数情况下具有恶意甚至非法意图。
什么是机器人检测技术?
网站已经创建了各种机器人检测技术来检测机器人并防止恶意机器人流量。以下是他们使用的一些方法:
浏览器指纹识别
这是指为识别目的收集计算设备的信息(任何浏览器都会将特定数据点传递给连接的网站服务器,例如你的操作系统、语言、插件、字体、硬件等)。了解更多关于浏览器指纹识别的信息,请参阅我们的深入博客。
浏览器一致性
检查浏览器中应有或不应有的特定功能的存在。这可以通过执行某些JavaScript请求来完成。
行为不一致性
这涉及对非线性鼠标移动、快速按钮和鼠标点击、重复模式、平均页面时间、每页平均请求数以及类似的机器人行为进行行为分析。
验证码(CAPTCHA)
种流行的反机器人措施,是一种挑战-响应类型的测试,通常要求你填写正确的代码或识别图片中的物体。你可以在我们的博客中阅读更多关于验证码如何工作的内容。
一旦网站识别出类似机器人的行为,它就会阻止这些机器人继续抓取。
如何识别机器人流量?
虽然网站可以使用自动检查传入流量并检测机器人的反机器人系统,但其他选项包括像Google Analytics这样的工具。在检查网络流量时,你可能会发现一些奇怪的行为,这些行为可以帮助识别机器人流量,例如:
- 页面浏览量异常。机器人可能会模拟大量页面浏览量,如果你的网站通常吸引的浏览量明显较少,这可能就是这种情况。
- 会话时间增加或减少。如果用户在你网站上停留的时间意外增加或显著减少,可能是机器人以非常慢或非人类的速度浏览网站。
- 跳出率突然增加。当跳出率高得无法解释时,可能表明机器人被用来针对单个页面。
- 来自某个位置的流量突然增加。来自某个特定位置的流量意外且无法解释的增加可能表明是一个机器人网络。
- 伪造的用户转换。另一个可能由机器人流量引起的因素是伪造的信息。例如,假名和姓氏、公司名称、电话号码、电子邮件地址、物理地址以及其他可以由表单填写机器人输入的详细信息。
机器人检测面临的挑战
区分机器人流量模式与人类在线行为本身已成为一项复杂的任务,多年来互联网上的机器人已经发生了巨大变化。目前,有四代不同的机器人:
- 第一代:这些基本机器人使用基本的脚本工具构建,主要执行简单的自动化任务,如抓取、垃圾邮件等。
- 第二代:它们主要通过网站开发进行操作,因此得名“网络爬虫”。由于存在特定的JavaScript触发和iframe篡改,它们相对容易检测。
- 第三代:常用于慢速DDoS攻击、身份盗窃、API滥用等。根据设备和浏览器特征,它们相对难以检测,需要进行适当的行为和互动分析来识别机器人流量。
- 第四代:最新一代的机器人。这些机器人可以执行类似人类的互动,如非线性鼠标移动。为了检测这些机器人,需要使用高级方法,通常涉及使用人工智能(AI)和机器学习算法(ML)。
第四代机器人很难与合法用户区分开来,基本的机器人检测技术已经不再足够。要检测此类机器人流量,需要的不仅仅是简单的工具和行为互动分析。
如何阻止机器人流量?
除了使用Google Analytics或类似工具来跟踪和调查流量,你还可以实施以下预防方法:
创建一个robots.txt文件
一个好的起点可能是为访问你网站资源的机器人提供抓取指令。查看Oxylabs的robots.txt和Google的robots.txt文件示例。
实施CAPTCHA测试
CAPTCHA可以是你的下一步,因为它们在捕捉简单机器人方面效果很好,并且可能会对更高级的机器人造成困难。一个流行的免费选项是Google的reCAPTCHA,它可以可靠地保护网站免受垃圾邮件和滥用。
设置请求速率限制
速率限制解决了来自一个IP地址的多个机器人的问题,可以直接防止DoS攻击。然而,这种方法仅在特定情况下有效,可能仍然允许恶意机器人通过。
使用蜜罐Honeypot陷阱
蜜罐专门设计用于吸引不需要的或恶意的机器人,使网站能够检测机器人并禁止其IP地址。
设置网络应用防火墙(WAF)。WAF可用于过滤可疑请求,并根据各种因素阻止IP地址。然而,WAF很复杂,对于技术资源有限的网站所有者来说可能不是最佳选择。
使用机器人检测系统
实施反机器人系统是检测和防止机器人访问你网站的最佳和最可靠的方法。尽管像PerimeterX这样的机器人检测工具有一定的限制,但它们仍然可以使用各种现代机器人检测方法,并结合AI和机器学习,提供最新和经过验证的大多数机器人防御措施。
反机器人的措施
如果你想要更快且劳动强度较小的方法,可以考虑使用Web Unblocker作为解决方案,Bright Data, Soax, 和 Oxylabs 等代理商都有此工具。它是一种由AI驱动的代理解决方案,具有动态指纹识别功能。该功能允许Web Unblocker选择正确的标头、cookie、浏览器属性和代理的组合,使你看起来像一个有机用户,成功绕过所有目标网站的阻止。
另一个很好的选择是使用包含所有必要功能以克服反机器人措施的预构建抓取器。例如,Oxylabs的SERP Scraper API功能丰富,专为从搜索引擎结果页面获取数据而设计。此外,它特别适应从主要搜索引擎中提取数据,并克服这些引擎特有的任何反机器人技术。
结 论
预计每年的坏机器人流量只会越来越多。而对于好的机器人来说,不被误认为坏机器人的机会正在逐渐减少。很多友好的机器人,比如那些用于研究、删除非法广告和市场调查的网络抓取工具,可能会被错误地标记为坏的并被阻止。万幸的是,现在市场正在开发使用AI和机器学习技术的解决方案,以解决这些误判问题。