专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:08:06       共计:3598 浏览

目前网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,为防止网站有可能会被别人爬,通过配置Nginx, 我们可以拦截大部分爬虫

新增反爬虫策略文件:

1


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 反爬虫的资料请关注脚本之家其它相关文章!

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:ASP.NET Core分布式缓存Redis主从Sentinel哨兵模式实战演练 | ·下一条:.NET Core Redis 帮助类五大类型实现

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有