Published on

网站反爬虫策略分级实施指南

Authors
  • avatar
    Name
    Liant
    Twitter
介绍

下面列举了一些目前我们可以实施的反爬方案,由易到难,可以过滤一些不友好的访问。

基础反爬
  • 限制IP请求频率,限制同一个IP每秒请求接口的次数。

  • 限制协议头部,判断Origin、Referer、User-Agent协议头,过滤基础爬虫

  • 对于有用户登录系统的,针对单个账号限制cookie

以上几种方式,主要用来过滤一些低级爬虫,这些劣质爬虫没有江湖规矩,没有目的,也不会去隐藏自己的身份,白白占用了服务器的带宽和CPU资源,但是要放开一些搜索的爬取。

中级反爬
  • js进行压缩混淆,增加人工调试的难度。

  • 在js代码中监听debug,如果发现网页打开了调试模式,阻塞当前页面或者让浏览量断网,增加人工调试难度。

  • 在js代码中增加浏览器特征校验,不允许自动化模拟,不允许js在node环境中执行等

  • 数据接口使用签名验证,敏感数据必须要求登录

  • 对于敏感数据,比如价格、名称,使用字体加密,增加人工破解的难度

高级反爬
  • 使用滑块验证码,不推荐使用常规的滑块和点选,使用需要逻辑判断类的验证码

  • 接口返回假数据,混入部分修改以后的数据,让爬虫不容易区分,提高辨别难度

  • 对返回的接口数据进行加密,在js中进行解密再渲染

其他
  • 根据用户的行为,封禁客户端的指纹,使该用户永远无法使用浏览器访问网站