nginx 反爬虫 禁止某些 User Agent 抓取网站

因为 user-agent 带有 Bytespider 爬虫标记,这可以通过 Nginx 规则来限定流氓爬虫的访问,直接返回 403 错误。
修改对应站点配置文件(注意是在 server 里面)

备注:这样只是可以防止一部分爬虫访问,以及初级爬虫人员。

#forbidden Scrapy
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
  return 403;
}

#forbidden UA
if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|python-requests|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
  return 403;
}

#forbidden not GET|HEAD|POST method access
if ($request_method !~ ^(GET|HEAD|POST)$) {
  return 403;
}

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:nginx 反爬虫 禁止某些 User Agent 抓取网站

字数:151

本文作者:夏来风

发布时间:2019-10-16, 22:37:24

原始链接:http://www.demo1024.com/blog/nginx-no-spider/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。