最新公告
  • 欢迎您光临源码资源下载站,一个优质的网站源码和小程序源码分享基地。
  • 网站遇到Bytespider爬虫该怎么办?

    正文概述 建站知识   2023-12-15 21:24:53  

      早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启web服务试试,可惜依旧没用,不过重启的时候发现CPU彪到99,我还以为是被谁DDOS了。

      发现问题:

      查看日志发现是来自于Bytespider的爬虫。

      服务器配置是4H8G10M,基本上中型网站这配置都够了,我还是刚搭建的没有什么流量,就被这Bytespider给拖垮了。

      爬虫IP基本上都是来源河北石家庄,而且是同IP段,一直在爬取,网上找有的说是头条的蜘蛛(没有证据)。

      解决思路:

      1.因为我没有服务器的登录权限,所以我猜想用CC防护和web应用防护能否阻挡呢?

      使用阿里云最基础的“web应用防护”,开启后并没有什么效果,5分钟过去,cpu依旧99%。

      2.推测使用拉黑IP段的方式来解决。

      先整理出这些爬虫的IP段:

      60.8.165.0/24

      111.225.0.0/24

      110.249.0.0/24

      220.243.0.0/24

      基本为这四个ip段,对这四个IP段进行拉黑,在web应用安全这里进行配置规则。

      四个IP段拉黑后,服务器cpu瞬间将至10%。

      问题解决。

      结论:

      Bytespider爬虫虽然不比DDOS,cc攻击,可是对于web服务来讲多大的服务(相对来讲)都能拖垮~~~~~。一定要ban掉。

      二、这是测试有效的方式,还有网上找到的另外一种方式,通过ningx拉黑ip:

      在Nginx的conf目录下面建立blockip.conf文件(名称可以随意),把想要屏蔽的IP只要加入这个文件即可,格式如下:

      deny 195.91.122.67;

      一行添加一个,添加完成后保存。

      在Nginx的配置文件XX.conf按照相应格式加入代码如下,唯一需要注意的是相对路径。

      include blockip.conf;

      重启Nginx:

      /usr/local/nginx/nginx -s reload

      屏蔽ip的文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。

      #屏蔽单个ip访问

      deny IP;

      #允许单个ip访问

      allow IP;

      #屏蔽所有ip访问

      deny all;

      #允许所有ip访问

      allow all;

      #屏蔽整个段:从123.0.0.1到123.255.255.254

      deny 123.0.0.0/8;

      #屏蔽IP段:从123.45.0.1到123.45.255.254

      deny 123.45.0.0/16;#

      屏蔽IP段:从123.45.6.1到123.45.6.254

      deny 123.45.6.0/24;

      除了几个IP外,其他全部拒绝,那需要你在blockip.conf中这样写:

      allow 1.1.1.1;

      allow 1.1.1.1;

      allow 1.1.1.2;

      deny all;

      单个网站屏蔽IP的方法:把include blocksip.conf;放到网址对应的在server {}语句块;多个网站屏蔽IP的方法:把include blocksip.conf;放到http {}语句块。

      方法二经过测试,具体效果也是可以的.

      三、robots.txt 添加

      禁止Bytespider爬取网站

      Disallow: /

      User-agent:Bytespider

      或者

      Bytespide蜘蛛延迟一秒爬取

      User-agent:Bytespider

      Crawl-delay: 1

      四、nginx配置文件添加

      #禁止爬虫工具和不相关搜索引擎的抓取agent_deny.conf

      include /www/server/nginx/conf/agent_deny.conf;

      #禁止ip访问目录 ip_deny.conf

      # include /www/server/nginx/conf/ip_deny.conf;

      其中agent_deny.conf内容为

      #forbidden Scrapy禁止扫描工具客户端

      if ($http_user_agent ~* (scraper|crawl|Scrapy|Python|curb|git|Wtrace|Curl|HttpClient|masscan|zgrab|NetcraftSurveyAgent|BiuScanner|CensysInspect)) {

      return 403;

      }

      #YisouSpider,Sogou web spider,bingbot,360spider

      #forbidden UA

      if ($http_user_agent ~* "WordPress|HTTrack|Apache-HttpClient|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|BabyKrokodil|BabyKrok|netsparker|httperf|bench|SF|Bytespider|YisouSpider|ToutiaoSpider|EasyHttp|BLEXBot|Iframely|CheckMarkNetwork|sysscan|package|fasthttp|muhstik|HTTP_Request|ExtLinksBot|DeuSu|mstshash|Dark|LMAO|Gemini|Crawler|AlphaBot|Census|ips-agent|researchscan|Dispatch|Wappalyzer|MauiBot|crawler4j|Center|eright|Mappy|Hakai|aiohttp|Jullo|Feedly|oBot|python-requests|CPython|Synapse|Nimbostratus-Bot|heritrix|SafeDNSBot|SiteExplorer|SSH|MegaIndex|BUbiNG|CCBot|NetTrack|Digincore|aiHitBot|SurdotlyBot|null|Test|Copied|ltx71|DotBot|AdsBot|InetURL|Pcore-HTTP|PocketParser|Wotbox|newspaper|DnyzBot|redback|PiplBot|WinHTTP|Auto Spider 1.0|GrabNet|TurnitinBot|Go-Ahead-Got-It|Download Demon|Go!Zilla|GetWeb!|GetRight|libwww-perl|Cliqzbot|MailChimp|SMTBot|Dataprovider|XoviBot|linkdexbot|SeznamBot|Qwantify|spbot|evc-batch|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|CrawlDaddy|CoolpadWebkit|Java|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|MJ12bot|EasouSpider|LinkpadBot|YoudaoBot|YandexBot|Rogerbot|exabot|ia_archiver|Teoma|gigabot|DOCOMO Sprider|AhrefsBot|SemrushBot|Sosospider|Yahoo! Slurp China|Yahoo! Slurp|MSNBot|MSNot-media|Nmap Scripting Engine|censys.io|FlightDeckReports Bot|Mail.RU_Bot|Ezooms|^$" ) {

      return 403;

      }

      #forbidden not GET|HEAD|POST method access

      if ($request_method !~ ^(GET|HEAD|POST)$) {

      return 403;

      }

    网站遇到Bytespider爬虫该怎么办?
    皓玉源码网,一个优质的源码资源平台!
    皓玉源码网 » 网站遇到Bytespider爬虫该怎么办?