有助于网站的爬虫可以提升网站排名,比如百度蜘蛛。但有些爬虫对服务器恶意获取网站信息,不遵守robots规则,我们需要进行拦截。可以禁止某些User Agent抓取网站。

  • 新建配置配置文件

(例如进入到nginx安装目录下的conf目录,创建: agent_deny.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;
}
  • 然后,在网站相关配置中的 server段插入如下代码:
include agent_deny.conf;

  • 重启nginx:
/usr/local/nginx/sbin/nginx -s reload
  • 测试

使用curl -A 模拟抓取即可,比如:

curl -I -A 'YYSpider' www.haoeasy.cn

结果

[root@izwz93bcx7adgtozg4rvanz conf]# curl -I -A 'YYSpider' www.haoeasy.cn
HTTP/1.1 403 Forbidden
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:35:21 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

模拟UA为空的抓取:

curl -I -A' ' www.haoeasy.cn

结果

[root@izwz93bcx7adgtozg4rvanz conf]# curl -I -A' ' www.haoeasy.cn
HTTP/1.1 403 Forbidden
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:36:06 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

模拟百度蜘蛛的抓取:

curl -I -A 'Baiduspider' www.haoeasy.cn
[root@izwz93bcx7adgtozg4rvanz conf]# curl -I -A 'Baiduspider' www.haoeasy.cn
HTTP/1.1 200 OK
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:36:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 12 Apr 2019 13:49:36 GMT
Connection: keep-alive
ETag: "5cb09770-264"
Accept-Ranges: bytes
  • UA类型
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设置防爬虫策略相关推荐

  1. nginx定时封ip防爬虫

    脚本代码参考:https://blog.51cto.com/tsoagta/1710421 我们公司网站爬虫爬取频次太高,查阅资料后简单写了一个定时获取ip,然后封禁ip 的脚本. 主要思路是:读取n ...

  2. 反击“猫眼电影”网站的反爬虫策略

    0×01 前言 前两天在百家号上看到一篇名为<反击爬虫,前端工程师的脑洞可以有多大?>的文章,文章从多方面结合实际情况列举了包括猫眼电影.美团.去哪儿等大型电商网站的反爬虫机制.的确,如文 ...

  3. 常见网络攻击方式介绍及短信防攻击策略的后端实现

    大家好,今天给大家分享一下:几种常见的网络攻击方式的介绍以及短信防攻击策略的后端实现. 一.背景介绍 有人的地方就有江湖,有数据交互的地方,就存在入侵风险. 只有知己知彼,才能百战不殆.我们学习相关知 ...

  4. 一个简单的防爬虫脚本(转载欧彬)

    因为公司有时候受爬虫的影响,有时候应用压力很高,所以决定封掉大部分爬虫. 1.检测user-agent 2.设定一个阀值,如果超过这个访问阀值,就进入灰名单,某个时间段联系两次进入灰名单,就干掉这个i ...

  5. Nginx负载均衡+转发策略

    负载均衡 负载均衡(详解)https://cloud.tencent.com/developer/article/1526664 --示例1upstream www_server_pool { ser ...

  6. Scrapy绕过反爬虫策略汇总

    文章目录 一.Scrapy无法返回爬取内容的几种可能原因 1,ip封锁爬取 2,xpath路径不对 3,xpath路径出现font,tbody标签 4,xpath路径不够明确 5,robot协议 6, ...

  7. 网站反爬虫策略VS反反爬虫策略

    网站反爬虫策略 1.通过User-Agent校验反爬 2.通过访问频度反爬 3.通过验证码校验反爬 4.通过变换网页结构反爬 5.通过账号权限反爬 反反爬虫策略制定 1.发送模拟User-Agent: ...

  8. 使用scrapy做爬虫遇到的一些坑:网站常用的反爬虫策略,如何机智的躲过反爬虫Crawled (403)

    在这幅图中我们可以很清晰地看到爬虫与反爬虫是如何进行斗智斗勇的. 在学习使用爬虫时,我们制作出来的爬虫往往是在"裸奔",非常的简单. 简单低级的爬虫有一个很大的优点:速度快,伪装度 ...

  9. 严防死守--IE浏览器防黑策略(转)

    严防死守--IE浏览器防黑策略(转)[@more@] 最近这段时间网民们上网冲浪时常常会碰到一件令人反感的事,就是在浏览一些网站?多为个人主页?后IE浏览器的标题栏被篡改成了诸如"欢迎访问- ...

最新文章

  1. 【Spark深入学习 -14】Spark应用经验与程序调优
  2. linux中daemonize用法,daemonize Unix系统后台守护进程管理软件
  3. spring boot系列03--spring security (基于数据库)登录和权限控制(下)
  4. 提取网页里面全部所有链接的方法
  5. C# Datatable排序与取前几行数据
  6. asp.net 的页面几种传值方式
  7. C语言编程出图形,C语言画出各种图形
  8. webstorm 破解方式
  9. 一步一步往前冲-WCF
  10. Android -- Property Animation
  11. 在mdk使用swd最后一步无反应_STM32应用笔记: 使用STM32CubeMonitor实时监测变量
  12. LibSass 的二进制文件(P:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-ia32
  13. Tungsten Fabric入门宝典丨TF组件的七种“武器”
  14. whois域名查询工具在线使用
  15. 最新的 CocoaPods 的使用教程 上传podspec
  16. 100年来诺贝尔化学奖获得者
  17. Mac Excel快捷键
  18. Poseidon Foundation:利物浦努力至2020年底成为首个“气候友好型”城市
  19. 使用html2canvas和jspdf把网页保存pdf并下载
  20. Linux运维精华面试题

热门文章

  1. win10关闭快速启动
  2. Linux系统的性能测试
  3. Linux下Awk详解(转载)
  4. 零售业的商品交叉价格弹性
  5. 【漫漫科研路\pgfplots】画局部放大图
  6. Python Wechaty 微信聊天机器人 padlocal协议搭建指南
  7. 未来10年,美国47%的工作岗位将被人工智能取代?深入剖析ChatGPT
  8. python怎样分析文献综述怎么写_如何撰写一份优秀的文献综述?
  9. 如何将word文字间的空格批量删除
  10. [Spark版本升级]-- spark-2.2.0发行说明