首页 网建技术 Nginx Web服务器环境利用user_agent屏蔽和限制访问实例

Nginx Web服务器环境利用user_agent屏蔽和限制访问实例

有些细心的网友会发现,我们的网站可能还没有流量或者流量不大的时候,但是有些时候会负载比较大,甚至可以通过日志看到很多无用的爬虫抓取。比如有国外搜索蜘蛛爬取,有些是采集蜘蛛爬取。我们…

有些细心的网友会发现,我们的网站可能还没有流量或者流量不大的时候,但是有些时候会负载比较大,甚至可以通过日志看到很多无用的爬虫抓取。比如有国外搜索蜘蛛爬取,有些是采集蜘蛛爬取。我们是否可以通过一些技术手段屏蔽呢?这里我们使用较多的还是Nginx,通过user_agent屏蔽和限制访问。

在这篇文章中,小编准备通过记录一些 user_agent 屏蔽限制实例记录如何控制的。有些可能也是我们以后需要用到的,顺带记录收集做个笔记。

禁止空agent的浏览器访问

if ($http_user_agent ~ ^$) {
return 403;
}
禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
禁止指定UA的访问
if ($http_user_agent ~ "ApacheBench|WebBench|HttpClient|Java|python|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Feedly|UniversalFeedParser|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms" )
{
return 403;
}

 

if ($http_user_agent ~* "qihoobot|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; 
}
禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
禁止特殊的user_agent的访问
if ($http_user_agent ~ "Mozilla/4.0\ \(compatible;\ MSIE\ 6.0;\ Windows\ NT\ 5.1;\ SV1;\ .NET\ CLR\ 1.1.4322;\ .NET\ CLR\ 2.0.50727\)") {
return 404;
}
这里,我们看看常用的一些爬虫。
UA类型 描述
ApacheBench 性能压测
WebBench 性能压测
WinHttp 采集cc
HttpClient tcp攻击
Jmeter 压力测试
BOT/0.1 (BOT for JCE) sql注入
CrawlDaddy sql注入
Indy Library 扫描
ZmEu phpmyadmin 扫描
Microsoft URL Control 扫描
jaunty wordpress扫描器
Java 内容采集
Python-urllib 内容采集
Jullo 内容采集
FeedDemon 内容采集
Feedly 内容采集
UniversalFeedParser 内容采集
Alexa Toolbar 内容采集
Swiftbot 无用爬虫
YandexBot 无用爬虫
AhrefsBot 无用爬虫
jikeSpider 无用爬虫
MJ12bot 无用爬虫
oBot 无用爬虫
FlightDeckReports Bot 无用爬虫
Linguee Bot 无用爬虫
EasouSpider 无用爬虫
YYSpider 无用爬虫

根据需要进行判断和屏蔽。这里在看一些常见爬虫的User-Agent

百度爬虫

Baiduspider+(+http://www.baidu.com/search/spider.htm”)

Google爬虫

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Googlebot/2.1 (+http://www.googlebot.com/bot.html)

Googlebot/2.1 (+http://www.google.com/bot.html)

雅虎爬虫(分别中国和美国爬虫)

Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html”)

Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp”)

新浪爱问爬虫

iaskspider/2.0(+http://iask.com/help/help_index.html”)

Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)

搜狗爬虫

Sogou web spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)

Sogou Push Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)

网易爬虫

Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/”; )

MSN爬虫

msnbot/1.0 (+http://search.msn.com/msnbot.htm”)

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

SSH的使用详解

SSH的使用详解

今天小编为大家分享一篇关于SSH 的介绍和使用方法的文章。本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录...
宝塔linux面板安装软件错误:宝塔面板检测到系统目录不可写。解决方法

宝塔linux面板安装软件错误:宝塔面板检测到系统目录不可写。解决方法

错误:宝塔面板检测到系统目录不可写。 1、安装了宝塔系统加固,请先关闭; 2、安装了云锁,请关闭系统加固功能; 3、安装...
宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案

宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案

宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案 近期由于服务器异常重启,发现node....
宝塔linux面板 apache网站访问报错503 Service Unavailable解决

宝塔linux面板 apache网站访问报错503 Service Unavailable解决

宝塔linux面板 apache网站访问报错: 503 Service Unavailable Service Unav...
宝塔windows面板apache开启Gzip压缩方法

宝塔windows面板apache开启Gzip压缩方法

感谢网友安好反馈问题,经检查少写一个模块导致开启后apache无法启动 2018/05/18更正 第1步 apache配...

发表回复

返回顶部