Advertisement

反爬技术研究 — 网站常用的反爬技术有哪些?

阅读量:

反爬技术研究 — 网站常用的反爬技术有哪些?

user-agent

  • 数据请求头,最初级的反爬,只要在请求中模拟请求头即可轻松飘过。

验证码

  • 验证码是主要采用的反爬虫手段之一;然而,在这种情况下(即简单验证码),其准确率仍可达到50%以上。
  • 复杂类型的验证码通常由专业机构负责人工识别和生成;基于其复杂程度的不同阶段,在线服务提供者会收取每道题约1-2分的费用;整体成本相对较低。然而这类方式同样存在漏洞(即容易被系统或恶意程序绕过),从而导致数据可能被非法获取。

封IP

该方案在效率上是最优的同时也是风险最高的方法。
基于 IPs 的稀缺性这一前提下,
当前多采用代理集群的方式获取,
并通过abcdefghijklmnopqrstuvwxyz等技术手段,
能够以较低成本获得几十万个IP地址池,
这使得单纯依靠封堵IP的方法其效果逐渐减弱。

滑块验证

  • 滑块验证采用了机器学习技术,在操作上只需移动滑块即可,并无需观看那些复杂到有时人眼也无法分辨的字母。然而由于部分厂商在实现时采用了较简单的校验算法,在实际应用中用户只需进行相对简单的模拟滑动操作即可规避检查。
  • 例如常见的平台如淘宝、阿里云和淘宝联盟等。

关联请求上下文

  • 反爬虫可以通过利用 Token 或网络请求获取上下文信息来判断用户访问是否为真实操作。
    然而,在协议分析能力强的技术人员面前进行全量模拟相对较为容易。
  • 例如,在知乎和百度登录过程中。

JavaScript 参与运算

简单的爬虫难以执行 JavaScript 运算;当某些中间结果需 JS 引擎解析 JS 并执行运算时,则可防止攻击者轻易完成抓取过程。然而尽管如此,开发者仍可借助自带的 JS 引擎模块或是通过直接使用 PhantomJS、Chrome 等无端浏览器来进行自动化处理。

提高数据获取成本

  • 当面对的是职业选手时,则必须采取措施提高其人力投入成本(包括但不限于代码混淆技术、动态加密方案以及假数据等手段),凭借开发进度超出对手分析能力的优势地位进行持续对抗。若对手坚持不降,则需采取持久战策略直至一方因机器成本或人力投入成本而无法继续。
  • 具体实例包括:汽车之家字体替换技术及去哪儿网网信息隐藏在CSS元素坐标中的方式。
  • <>
  • <>

全部评论 (0)

还没有任何评论哟~