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常用命令放入shell脚本详解
Mar 31 Servers
Nginx反向代理多个服务器的实现方法
Mar 31 Servers
nginx处理http请求实现过程解析
Mar 31 Servers
Nginx设置日志打印post请求参数的方法
Mar 31 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
使用kubeadm命令行工具创建kubernetes集群
Mar 31 Servers
Dashboard管理Kubernetes集群与API访问配置
Apr 01 Servers
Nginx配置之禁止指定IP访问
May 02 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
openEuler 搭建java开发环境的详细过程
Jun 10 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
ubuntu开机后ROS程序自启动问题
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木马webshell扫描器代码
2012/01/25 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP使用递归生成文章树
2015/04/21 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python定时器实例代码
2017/11/01 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
理工学院学生自我鉴定
2014/02/23 职场文书
县级文明单位申报材料
2014/05/23 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
爱牙日活动总结
2014/08/29 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
委托书范本格式
2019/04/18 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS