如何反爬虫及恶意采集

前言

恶意采集、攻击及非搜索引擎爬虫,影响了服务器的网络,同时也有可能暴露一些存在风险/SQL注入的网站。

我们虽然是识别出了,但是他们的抓取还是没有停止,有时候一天就是上百万次,严重影响了服务器网络状况,只有千日做贼,没有千日防贼的道理。

因此,从社会工程学的角度,不仅仅要防范,还要主动出击,增加难度。

主要策略

  1. 加入延时,让他采集难度增加,效率下降,如每天100万采集,把响应时间从0.1s延长到5s,那么就可以减少98%的访问,同样的时间内,恶意爬虫一天仅能采集2万;
  2. 适当返回正确状态的假数据、垃圾内容、扰乱他们正常采集,让他们花大量时间在正确内容的甄别上;
  3. 通过跳转的形式,把爬虫的攻击引回他自己的服务器、竞争对手的网站;
  4. 通过跳转的形式,让爬虫去下载大容量 iso 文件(国内各大镜像),搞挂他的内存、数据库;
  5. 返回一些包含恶意js、非标准的html内容,搞坏他们的爬虫分析,及时中止对方程序;
  6. 必要时,可以使用杀手锏,跳转到当地公安局、境外安全组织、黑客组织。