博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务器反爬虫攻略:nginx禁止某些User Agent抓取网站
阅读量:6182 次
发布时间:2019-06-21

本文共 1787 字,大约阅读时间需要 5 分钟。

hot3.png

网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSpider)。

下面介绍怎么禁止这些无用的user agent访问网站。

 

进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf

cd /usr/local/nginx/conf

vim agent_deny.conf

#禁止Scrapy等工具的抓取if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {     return 403;}#禁止指定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;            }#禁止非GET|HEAD|POST方式的抓取if ($request_method !~ ^(GET|HEAD|POST)$) {    return 403;}

然后,在网站相关配置中的  location / {  之后插入如下代码:

include agent_deny.conf;

 

保存后,执行如下命令,平滑重启nginx即可:

/usr/local/nginx/sbin/nginx -s reload

 

模拟宜搜蜘蛛的抓取:

curl -I -A 'YisouSpider'  http://网站链接

结果返回403

 

模拟UA为空的抓取:

curl -I -A '' http://网站链接

结果返回403

 

模拟百度蜘蛛的抓取:

curl -I -A 'Baiduspider'  http://网站链接

结果返回200

 

下面是网络上常见的垃圾UA列表

FeedDemon             内容采集BOT/0.1 (BOT for JCE) 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://my.oschina.net/HeAlvin/blog/408567

你可能感兴趣的文章
洛谷P1516 青蛙的约会
查看>>
再读《Parallel Programming with Python》并作笔记
查看>>
orchard-1.9.2-1.10.2汉化
查看>>
.NET快速信息化系统开发框架 V3.2 -> WinForm“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示...
查看>>
RxJava使用介绍
查看>>
Kafka的CommitFailedException异常
查看>>
思考与阅读
查看>>
ES6
查看>>
Wireshark中的一些SNMP相关的过滤器
查看>>
java8 新特性
查看>>
Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench
查看>>
在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)
查看>>
基于 HTML5 Canvas 实现的文字动画特效
查看>>
jsp c标签不遍历的方法
查看>>
Linux命令:pigz多线程压缩工具【转】
查看>>
Python学习笔记——与爬虫相关的网络知识
查看>>
git 录制简单实用好工具 LICEcap
查看>>
multiple definition of qt_plugin_query_metadata
查看>>
Redis:解决分布式高并发修改同一个Key的问题
查看>>
ringojs 的包管理
查看>>