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的反向代理实例详解
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
nginx location优先级的深入讲解
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
配置nginx 重定向到系统维护页面
Jun 08 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Jul 07 Servers
Docker下安装Oracle19c
Apr 13 Servers
centos7安装mysql5.7经验记录
May 02 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
如何编写python的daemon程序
2021/01/07 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
.net笔试题
2014/03/03 面试题
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
优秀信贷员先进事迹
2014/01/31 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
会计的岗位职责
2014/03/15 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
总经理人事任命书
2014/06/05 职场文书
销售会议开幕词
2015/01/28 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书