【服务器】宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布

【服务器】宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布


最近查看服务器日志,发现一些垃圾蜘蛛,一直爬行很多,比如以下这些垃圾,太烦人了。



Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)"
Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"

本人一直使用的linux系统服务器宝塔面板管理,个人感觉比较方便。网上查找方法,屏蔽这些垃圾。


网上找到的代码如下:目前为止比较好用。


#禁止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;


}

宝塔面板下使用方法如下:
1、找到文件目录/www/server/nginx/conf文件夹下面,新建一个文件


agent_deny.conf


内容就是以上代码。


2、找到网站设置里面的第7行左右 写入代码: include agent_deny.conf;




   root /www/wwwroot/www.seoshen.com;
   include agent_deny.conf;  (就是添加到这一行的位置。)
   #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则

如果你网站使用火车头采集发布,使用以上代码会返回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;


}
————————————————
版权声明:本文为CSDN博主「seoshen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/seoshen/article/details/105055430
当前位置:站长啦网站目录 » 站长资讯 » 站长新闻 » 技术文档 » 文章详细