近期大量使用zencart,magento等程序的网站死机,不断需要重启才有短暂的恢复。
各位有此现象的站长可以通过查看日志来分析是符合蜘蛛所引发的问题。
根据实践和大量日志检查发现,多为大量蜘蛛爬行导致,经发现的非主流类的蜘蛛大量爬行的有例如以下…
AhrefsBot
YandexBot
Ezooms
008


现分享关于蜘蛛屏蔽和引导的方案。
一般来说,蜘蛛爬行静态页,几乎不会有负载,但是如果爬行到动态页面,可能涉及到数据库调用,由于蜘蛛通常不是单个出现,而是成批出现,所以这时数据库查询可能会变得非常频繁,导致负载升级,占用大量IO,进而内存耗光死机或MYSQL挂掉的现象! 通常蜘蛛需要在网站根目录下的robots.txt中进行引导和屏蔽,具体哪些蜘蛛是您站点所需要的,请自行核实。
这里注意一点,即使是自己需要的蜘蛛,也请尽量不要让其爬行动态页面,虽然蜘蛛量少时可能体现不出问题,但是大量蜘蛛爬行时,可能就会出现无法负荷。有关robots.txt的的蜘蛛引导,可参考百度,谷歌中各大站长写的教程。
此处仅做一些常规写法的介绍

  User-agent: *          这里的*代表的所有的搜索引擎种类,*是一个通配符
  Disallow: /admin/      这里定义是禁止爬寻admin目录下面的目录 
  Disallow: /require/    这里定义是禁止爬寻require目录下面的目录 
  Disallow: /ABC/        这里定义是禁止爬寻ABC目录下面的目录 
  Disallow: /cgi-bin/*.htm   禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。 
  Disallow: /*?*         禁止访问网站中所有包含问号 (?) 的网址 
  Disallow: /.jpg$       禁止抓取网页所有的.jpg格式的图片 
  Disallow:/ab/adc.html  禁止爬取ab文件夹下面的adc.html文件。 
  Allow: /cgi-bin/      这里定义是允许爬寻cgi-bin目录下面的目录 
  Allow: /tmp            这里定义是允许爬寻tmp的整个目录 
  Allow: .htm$           仅允许访问以".htm"为后缀的URL。 
  Allow: .gif$           允许抓取网页和gif格式图片


由于robots.txt文件是当蜘蛛爬行到时才会生效,所以往往当站长做好robots.txt时,不会有立杆见影的效果
因此这里介绍一种在.htaccess中直接引导蜘蛛返回403
根据自己使用的web引擎类型,点击下方链接进入查看屏蔽恶意蜘蛛的方法