Nginx反爬虫: 禁止某些User Agent抓取网站

2022年 10月 17日 发表评论
免费、便宜/高性价比 服务器汇总(已更新):点击这里了解

本站教程收集整理的这篇文章主要介绍了Nginx反爬虫: 禁止某些User Agent抓取网站,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

1、在/etc/Nginx/conf.d目录下(因Nginx的安装区别,可能站点配置文件的路径有所不同)新建文件deny_agent.config配置文件:

Nginx反爬虫: 禁止某些User Agent抓取网站

#forbidden Scrapy  if ($http_user_agent ~* (Scrapy|Curl|httpClient))  {      return 403;  }    #forbidden UA  if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|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|YisouSpider|httpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" )  {      return 403;  }    #forbidden not GET|HEAD|POST method access  if ($request_method !~ ^(GET|HEAD|POST)$)  {      return 403;  }

Nginx反爬虫: 禁止某些User Agent抓取网站

2、在对应站点配置文件中包含deny_agent.config配置文件(注意是在server里面):

Nginx反爬虫: 禁止某些User Agent抓取网站

3、重启Nginx,建议通过Nginx -s reload平滑重启的方式。重启之前请先使用Nginx -t命令检测配置文件是否正确。

4、通过curl命令模拟访问,看配置是否生效(返回403 Forbidden,则表示配置OK):

Nginx反爬虫: 禁止某些User Agent抓取网站

附录:UA收集

Nginx反爬虫: 禁止某些User Agent抓取网站

FeedDemon             内容采集  BOT/0.1 (BOT for JCE) sql注入  CrawlDaddy            sql注入  Java                  内容采集  Jullo                 内容采集  Feedly                内容采集  UniversalFeedParser   内容采集  ApacheBench           cc攻击器  Swiftbot              无用爬虫  YandexBot             无用爬虫  AhrefsBot             无用爬虫  YisouSpider           无用爬虫(已被UC神马搜索收购,此蜘蛛可以放开!)  jikeSpider            无用爬虫  MJ12bot               无用爬虫  ZmEu phpR_624_11845@yadmin       漏洞扫描  Winhttp               采集cc攻击  EasouSpider           无用爬虫  httpClient            tcp攻击  Microsoft URL Control 扫描  YYSpider              无用爬虫  jaunty                @R_502_3483@爆破扫描器  oBot                  无用爬虫  Python-urllib         内容采集  Indy Library          扫描  FlightDeckReports Bot 无用爬虫  Linguee Bot           无用爬虫

#添加如下内容即可防止爬虫

if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")
{
return 403;

}

#禁止Scrapy等工具的抓取  if ($http_user_agent ~* (Scrapy|Curl|httpClient)) {       return 403;  }     #禁止指定UA及UA为空的访问  if ($http_user_agent ~ "Winhttp|WebZIP|FetchURL|node-superagent|java/|  FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|  CrawlDaddy|Java|Feedly|Apache-httpAsyncclient|UniversalFeedParser|ApacheBench|  Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|  lightDeckReports Bot|YYSpider|DigExt|httpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|  YandexBot|FlightDeckReports|Linguee Bot|^$" ) {       return 403;               }

Nginx反爬虫: 禁止某些User Agent抓取网站

本站总结

以上是本站教程为你收集整理的Nginx反爬虫: 禁止某些User Agent抓取网站全部内容,希望文章能够帮你解决Nginx反爬虫: 禁止某些User Agent抓取网站所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: