Nginx反爬虫策略,防止UA抓取网站


Posted in Servers onMarch 31, 2021

新增反爬虫策略文件:

vim /usr/www/server/nginx/conf/anti_spider.conf

文件内容

#禁止Scrapy等工具的抓取 
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { 
   return 403; 
} 
#禁止指定UA及UA为空的访问 
if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|^$" ) { 
   return 403;        
} 
#禁止非GET|HEAD|POST方式的抓取 
if ($request_method !~ ^(GET|HEAD|POST)$) { 
  return 403; 
}
#屏蔽单个IP的命令是
#deny 123.45.6.7
#封整个段即从123.0.0.1到123.255.255.254的命令
#deny 123.0.0.0/8
#封IP段即从123.45.0.1到123.45.255.254的命令
#deny 124.45.0.0/16
#封IP段即从123.45.6.1到123.45.6.254的命令是
#deny 123.45.6.0/24
# 以下IP皆为流氓
#deny 58.95.66.0/24;

配置使用

在站点的server中引入

# 反爬虫  
include /usr/www/server/nginx/conf/anti_spider.conf

最后重启nginx

校验是否有效

模拟YYSpider

λ curl -X GET -I -A 'YYSpider' https://www.myong.top
HTTP/1.1 200 Connection established
HTTP/2 403
server: marco/2.11
date: Fri, 20 Mar 2020 08:48:50 GMT
content-type: text/html
content-length: 146
x-source: C/403
x-request-id: 3ed800d296a12ebcddc4d61c57500aa2

模拟百度Baiduspider

λ curl -X GET -I -A 'BaiduSpider' https://www.myong.top
HTTP/1.1 200 Connection established
HTTP/2 200
server: marco/2.11
date: Fri, 20 Mar 2020 08:49:47 GMT
content-type: text/html
vary: Accept-Encoding
x-source: C/200
last-modified: Wed, 18 Mar 2020 13:16:50 GMT
etag: "5e721f42-150ce"
x-request-id: e82999a78b7d7ea2e9ff18b6f1f4cc84

爬虫常见的User-Agent

FeedDemon       内容采集 
BOT/0.1 (BOT for JCE) sql注入 
CrawlDaddy      sql注入 
Java         内容采集 
Jullo         内容采集 
Feedly        内容采集 
UniversalFeedParser  内容采集 
ApacheBench      cc攻击器 
Swiftbot       无用爬虫 
YandexBot       无用爬虫 
AhrefsBot       无用爬虫 
YisouSpider      无用爬虫(已被UC神马搜索收购,此蜘蛛可以放开!) 
jikeSpider      无用爬虫 
MJ12bot        无用爬虫 
ZmEu phpmyadmin    漏洞扫描 
WinHttp        采集cc攻击 
EasouSpider      无用爬虫 
HttpClient      tcp攻击 
Microsoft URL Control 扫描 
YYSpider       无用爬虫 
jaunty        wordpress爆破扫描器 
oBot         无用爬虫 
Python-urllib     内容采集 
Indy Library     扫描 
FlightDeckReports Bot 无用爬虫 
Linguee Bot      无用爬虫

以上就是Nginx反爬虫策略,防止UA抓取网站的详细内容,更多关于Nginx 反爬虫的资料请关注三水点靠木其它相关文章!

Servers 相关文章推荐
本地通过nginx配置反向代理的全过程记录
Mar 31 Servers
nginx配置ssl实现https的方法示例
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 Servers
Apache Hudi数据布局黑科技降低一半查询时间
Mar 31 Servers
Linux中如何安装并部署Redis
Apr 18 Servers
Tomcat执行startup.bat出现闪退的原因及解决办法
Apr 20 Servers
KVM基础命令详解
Apr 30 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 #Servers
Nginx域名转发使用场景代码实例
Mar 31 #Servers
提升Nginx性能的一些建议
Nginx反向代理及负载均衡如何实现(基于linux)
Mar 31 #Servers
Nginx配置80端口访问8080及项目名地址方法解析
Mar 31 #Servers
Nginx配置https原理及实现过程详解
Mar 31 #Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 #Servers
You might like
php字符串分割函数explode的实例代码
2013/02/07 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP实现简易计算器功能
2020/08/28 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python3下pygame如何实现显示中文
2020/01/11 Python
Python matplotlib实时画图案例
2020/04/23 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
高中毕业自我鉴定
2013/12/16 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
运动会开幕式主持词
2014/03/28 职场文书
服务承诺书
2015/01/19 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS