隐藏

使用nginx来屏蔽垃圾蜘蛛访问抓取的配置文件

发布:2022/12/27 14:45:31作者:管理员 来源:本站 浏览次数:808

禁止垃圾蜘蛛的原因


这里垃圾蜘蛛指的大部分是采集工具的蜘蛛UA,这些垃圾工具的蜘蛛有可能是做信息收集过滤用来贩卖,有可能是直接抓取你网站内容然后发布到自己站点的蜘蛛。

屏蔽访问抓取的实现方式


利用nginx的的配置文件来实现,通过分析访问这的部分信息,来判断是否符合垃圾蜘蛛的条件从而决定是否禁止。

提醒


默认配置文件不建议大家直接用,建议根据自己站点的实际情况来进行修改。


比如这一段


#禁压缩包

location ~* \.(tgz|bak|zip|rar|tar|gz|bz2|xz|tar.gz)$ {

 return 400;

 break;

}


这一段直接禁止了对压缩包的访问,如果你的网站有提供下载,就不能禁止他。使用时候直接将其删除或者注释掉即可。

使用教程


首先我们把配置文件下载到服务器上,存入一个不经常动的目录,可以跟nginx放一起


然后根据自己站点的情况把配置文件修改一下,保存即可


然后我们打开nginx的配置文件,在nginx的配置文件中引用我们修改过的垃圾蜘蛛配置文件


这样来引入:


server

{

......

include deny-bots.conf;

......

}


然后重启我们的nginx


service nginx reload


 

其他

引入配置文件例子:


你如果直接在nginx引入,那么生效的就是所有使用nginx的站点


如果你单独在某个站点的配置文件中引入的话,那么生效的只是这个站点,其他nginx下的站点不受影响。


引入可以参考宝塔面板里面已有网站的配置文件来操作,下面截图中有带目录和不带目录的两种方式。

deny-bots.conf文件内容如下

#禁垃圾蜘蛛
if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Hakai|Gemini|Wappalyzer|masscan|crawler4j|Mappy|Center|eright|aiohttp|MauiBot|Crawler|researchscan|Dispatch|AlphaBot|Census|ips-agent|NetcraftSurveyAgent|ToutiaoSpider|EasyHttp|Iframely|sysscan|fasthttp|muhstik|DeuSu|mstshash|HTTP_Request|ExtLinksBot|package|SafeDNSBot|CPython|SiteExplorer|SSH|MegaIndex|BUbiNG|CCBot|NetTrack|Digincore|aiHitBot|SurdotlyBot|null|SemrushBot|Test|Copied|ltx71|Nmap|DotBot|AdsBot|InetURL|Pcore-HTTP|PocketParser|Wotbox|newspaper|DnyzBot|redback|PiplBot|SMTBot|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|zgrab|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|EasouSpider|LinkpadBot|Ezooms") {
    return 400;
    break;
}

#禁部分爬取工具
if ($http_user_agent ~* "crawl|curb|git|Wtrace|Scrapy" ) {
    return 400;
    break;
}

#UA 不全,十有八九不是正常访问,禁
if ($http_user_agent = "Mozilla") {
    return 400;
    break;
}

#UA 不全,十有八九不是正常访问,禁
if ($http_user_agent = "Mozilla/5\.0") {
    return 400;
    break;
}

#UA 不全,十有八九不是正常访问,禁
if ($http_user_agent = "Mozilla/4\.0") {
    return 400;
    break;
}

#禁IE6
if ($http_user_agent = "MSIE 6\.0") {
    return 400;
    break;
}

#禁止特殊请求方式
if ($request_method ~* "DELETE|OPTIONS" ) {
    return 400;
    break;
}

#禁特殊url,wp慎
location ~* (wp-login\.php|LICENSE|README\.md)$ {
    return 400;
    break;
}

#禁特殊url
location ~* ^/(cgi-bin|includes|plus|user|web|vendor|maccms|bitcoin|wallet|backup)/.*.(php|php5|html)$ {
    return 400;
    break;
}

#禁特殊后缀
location ~* \.(asp|aspx|htaccess|ini|sql|env|git|project|cgi)$ {
    return 400;
    break;
}

#禁压缩包
location ~* \.(tgz|bak|zip|rar|tar|gz|bz2|xz|tar.gz)$ {
    return 400;
    break;
}

#禁空 UA
if ($http_user_agent ~* ^$) {
    return 400;
    break;
}

#非 SSR 屏蔽
if ($http_user_agent ~* "python-requests" ) {
    return 400;
    break;
}

#禁特殊请求工具
if ($http_user_agent ~* "Wget|Curl" ) {
    return 400;
    break;
}

#禁特定请求方式
#if ($request_method ~* "POST|PUT" ) {
#    return 400;
#    break;
#}