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+SpringBoot实现负载均衡的示例
Mar 31 Servers
Nginx Rewrite使用场景及配置方法解析
Apr 01 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
Nginx实现会话保持的两种方式
Mar 18 Servers
Apache Pulsar结合Hudi构建Lakehouse方案分析
Mar 31 Servers
CentOS7安装GlusterFS集群以及相关配置
Apr 12 Servers
Nginx配置之禁止指定IP访问
May 02 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 Servers
Fluentd搭建日志收集服务
Sep 23 Servers
码云(gitee)通过git自动同步到阿里云服务器
Dec 24 Servers
解决ubuntu安装软件时,status-code=409报错的问题
Dec 24 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中curl使用指南
2015/02/05 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
Python中input和raw_input的一点区别
2014/10/21 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
什么是Python中的顺序表
2020/06/02 Python
python导入库的具体方法
2020/06/18 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
学年自我鉴定
2014/01/16 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
党员干部承诺书范文
2014/03/25 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
冰峪沟导游词
2015/02/09 职场文书
教师求职简历自我评价
2015/03/10 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
Python利用folium实现地图可视化
2021/05/23 Python
Elasticsearch 聚合查询和排序
2022/04/19 Python