青岛网站建设新闻资讯

Nginx环境屏蔽网络爬虫YisouSpider

时间:2023-06-16 已阅读:467次 | 作者:青岛网站建设

首页>新闻资讯>建站知识
Nginx如何禁止空UA和特定User Agent垃圾爬虫访问网站,网站目录以及特定类型的文件
宝塔面板搭建的网站查看网站日志时:我们会经常发现一些空UA采集,或者垃圾爬虫高频的访问,导致CPU消耗过高,其实通过User Agent的特征,我们可以禁止那些恶意的无效的访问,Nginx环境如何禁止特定爬行工具、空UA、特定UA访问我们的网站:
下面的四项都是nginx配置在server内
1、禁止指定UA及UA为空的访问
if ($http_user_agent ~ "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;
}
2、禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
}
3、禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
     return 403;
}
4、此方法最简单粗暴,直接网站 Nginx 配置文件里面server内添加以下的规则,针对服务器上经常被扫描的文件后缀,直接返回404,资源下载网站请根据情况调整规则
    # 禁止访问指定文件
    location ~ .(zip|rar|sql|tar|gz|7z)$ {
        return 404;
    }
宝塔面板的Nginx环境,登录宝塔面板后台 - 网站 -网站设置 - 配置文件 里面,添加你需要的代码:

5、在网站根目录里建立robots.txt,添加如下内容

User-agent: YisouSpider
Disallow: / 
6、禁止某个目录执行脚本
【单nginx下有效,如使用了nginx+apache组合,php交给apache处理,需要通过.htaccess进行限制】,添加到location ~ .php  之前
    location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
        return 444;
    }
7、屏蔽某个IP或IP段
    #屏蔽192.168.5.23这个IP
    deny 192.168.5.23;
    #屏蔽192.168.5.* 这个段
    deny 192.168.5.0/24;
8、此种方法比较暴力,就是以彼之道,还施彼身,利用伪静态规则进行跳转下载,比如:扫描根目录下的 /web.rar,那么就会触发规则跳转到大文件下载地址。
打开网站 Nginx 配置文件,将规则加入 server 内,示例:
server {
    ...
    # 专治扫描户
    rewrite .rar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite .tar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite .zip/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite .sql/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite .gz/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite .7z/?$ http://speedtest.tele2.net/100GB.zip permanent;
    # 或者使用
    rewrite .(rar|zip|tar|sql|gz|7z)/?$ http://speedtest.tele2.net/100GB.zip permanent;
    ...
}
如果觉得 100GB 响应时间有点长,那么可以替换小文件下载地址:
10G:
新加坡: http://lg-sin.fdcservers.net/10GBtest.zip
日本: http://lg-tok.fdcservers.net/10GBtest.zip
香港: http://lg-hkg.fdcservers.net/10GBtest.zip
1G:
日本:http://hnd-jp-ping.vultr.com/vultr.com.1000MB.bin
新加坡:https://sgp-ping.vultr.com/vultr.com.1000MB.bin
如何测试效果?
Linux的vps,比如Centos7 使用Xshell软件连接上VPS。(如何使用Xshell通过SSH连接管理VPS)
使用使用下面的命令测试一下就行:
模拟UA为空的抓取:
curl -I -A '' https://www.78moban.com
模拟垃圾爬虫AhrefsBot抓取:
curl -I -A 'AhrefsBot' https://www.78moban.com
模拟AhrefsBot访问返回:HTTP/1.1 403 Forbidden 则设置生效访问被拦截!
模拟百度蜘蛛的抓取:
curl -I -A 'Baiduspider' https://www.78moban.com
模拟百度蜘蛛访问则成功返回:HTTP/1.1 200 OK
表示百度的爬虫是正常可以访问你的网站。
附一部分垃圾垃圾爬虫和扫描
FeedDemon 内容采集
BOT/0.1 sql注入
CrawlDaddy sql注入
Java 内容采集
Jullo 内容采集
Feedly 内容采集
UniversalFeedParser 内容采集
ApacheBench cc攻击器
Swiftbot 无用爬虫
YandexBot 无用爬虫
AhrefsBot 无用爬虫
YisouSpider 无用爬虫
jikeSpider 无用爬虫
MJ12bot 无用爬虫
ZmEu phpmyadmin 漏洞扫描
WinHttp 采集cc攻击
EasouSpider 无用爬虫
HttpClient tcp攻击
Microsoft URL Control 扫描
YYSpider 无用爬虫
jaunty wordpress爆破扫描器
oBot 无用爬虫
Python-urllib 内容采集
Indy Library 扫描
FlightDeckReports Bot 无用爬虫
Linguee Bot 无用爬虫
二维码
扫描二维码手机查看该文章

文章引用:https://www.qinghuahulian.com/news/webzhishi/1404.html

相关资讯

Copyright © 2011-2024 青华互联-青岛青华锐思网络科技有限公司 www.qinghuahulian.com All Rights Reserved
鲁公网安备37020202000800号 鲁ICP备14020555号-4 网站地图 百度地图