请选择 进入手机版 | 继续访问电脑版

巨力网

 找回密码
 立即注册
查看: 1266|回复: 1

屏蔽疯狂蜘蛛,防止cpu占用100%

[复制链接]

56

主题

62

帖子

455

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
455
发表于 2020-1-19 04:49:07 来自手机 | 显示全部楼层 |阅读模式
站点总是某个时间段莫名的cpu100%,资源占用也不高,这就有必要怀疑爬虫问题。  
1. 使用"robots.txt"规范   
在网站根目录新建空白文件,命名为"robots.txt",将下面内容保存即可。
User-agent: Baiduspider
Disallow:
User-agent: YisouSpider
Disallow:
User-agent: 360Spider
Disallow:
User-agent: Sosospider
Disallow:
User-agent: sogou spider
Disallow: 
User-agent: YodaoBot
Disallow: 
User-agent: Googlebot
Disallow: 
User-agent: bingbot
Disallow: 
User-agent: *
Disallow: /

2. 通过nginx    
      有些爬虫是不按规则出牌的,我们必须要能自己控制,将下面代码添加到"location / {  }" 段里面,比如伪静态规则里面即可。
#禁止Scrapy等工具的抓取
   if ($http_user_agent ~ (Scrapy|Curl|HttpClient)) {
     return 403;
    }
 
  #禁止指定UA及UA为空的访问
   if ($http_user_agent ~ "YandexBot|Bytespider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Ezooms|^$" ) {
     return 403;
   }
   #禁止非GET|HEAD|POST方式的抓取
    if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 403;

    }


注意: ~ 为模糊匹配  ,~*   为 模糊匹配不区分大小写   

 测试一下:
1
  curl -I -A  "Mozilla/5.0 YandexBot demo"  http://www.demo.com

返回 403 表示设置成功!
回复

使用道具 举报

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2020-2-19 11:16:37 来自手机 | 显示全部楼层
实用,谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|专注分享-极致追求 ( 湘ICP备20001371号|网站地图

GMT+8, 2020-7-7 22:52 , Processed in 0.166723 second(s), 24 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表