当前位置

假冒搜索引擎爬虫的识别

James Qi 在 2019年10月8日 - 14:20 提交

  标明访问者属性的User Agent是可以由软件进行修改的,所以有很多采集者为了防止自己被屏蔽,就把User Agent改为搜索引擎爬虫的特征,例如:

  为了验证来访者User Agent是否假冒的搜索引擎爬虫,可以用host反查IP对应的主机名,官方说明:

  官方的说明肯定是没有错的,但我们在实际使用中也遇到一些问题:

  • 不是每次host反查DNS都成功,以前发生过googlebot的DNS反查IP失败,返回数字的IP地址,然后被我们误屏蔽的情况;
  • 不是所有搜索引擎爬虫都支持这种反查方式,例如MIP爬虫、baidu app的爬虫等都不支持。

  我们现在采取的办法:

  • 如果host反查出来是数字IP地址,暂时不能判断是假冒的搜索引擎爬虫;
  • 如果host反查出来是nt.js.dynamic.163data.com.cn之类的非数字IP地址,又不是已知的*.googlebot.com这种,就判为假冒搜索引擎;
  • 添加IP白名单,已知搜索引擎爬虫IP段就放行;
  • 添加反查出来的白名单,更多种类的搜索引擎爬虫可以放行。

  目前用PHP编写的程序已经在一台服务器上运行了2个星期,每天可以屏蔽100多个假冒搜索引擎爬虫的IP。例如:

IP地址=>121.232.43.147
解析主机名=>147.43.232.121.broad.nt.js.dynamic.163data.com.cn
User-Agent=>Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

 

评论

如果有现成的插件我也不想开发啊,你如果找到能解决类似问题的插件请告诉我,谢谢。🤝

不过如果能增强一些技术实力的话还是尽量增强一些,或者找技术人员一起合作,网站要发展总是会遇到各种技术问题的,要有一定实力去应对。💪😀

James Qi / 祁劲松

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。