如何在宝塔面板中屏蔽垃圾蜘蛛?

宝塔面板 1年前 (2020) WPONE
9,568 0

最近查看网站蜘蛛爬取情况,发现很多如SemrushBotAhrefsBot之类的垃圾蜘蛛占比非常大,而且占用服务器资源。

如何在宝塔面板中屏蔽垃圾蜘蛛?

网上搜索一番,找到了一个在宝塔面板中一劳永逸的方法。

  • 在文件目录/www/server/nginx/conf文件夹下面,新建一个文件,命名为
agent_deny.conf
  • 添加如下代码
#禁止Scrapy等工具的抓取

if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {

     return 403;

}

#禁止指定UA及UA为空的访问

if ($http_user_agent ~* "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|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {

     return 403;             

}

#禁止非GET|HEAD|POST方式的抓取

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

    return 403;

}
  • 找到网站设置里面的第7行左右,写入代码:include agent_deny.conf;
  • 如果你网站使用火车头采集发布,使用以上代码会返回403错误,发布不了的。如果想使用火车头采集发布,请使用下面的代码
#禁止Scrapy等工具的抓取

if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {

     return 403;

}

#禁止指定UA访问。UA为空的可以访问,比如火车头可以正常发布。

if  ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot" ) {

     return 403;             

}

#禁止非GET|HEAD|POST方式的抓取

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

    return 403;

}
版权声明:WPONE 发表于 2020-09-28 20:17:48。
转载请注明:如何在宝塔面板中屏蔽垃圾蜘蛛? | WPONE

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...