nginx 禁止恶意uesr agent访问

摘要:禁用一些User Agent可以节省一些流量也可以防止一些恶意的访问,尤其是部份搜索引擎爬虫,例如我们的网站就是一个地方性站点,没有必要被一些国外的搜索引擎爬虫索引,都可以禁掉...

作者:LoveCode标签:nginx,uesr agent,禁止恶意访问

禁用一些User Agent可以节省一些流量也可以防止一些恶意的访问,尤其是部份搜索引擎爬虫,例如我们的网站就是一个地方性站点,没有必要被一些国外的搜索引擎爬虫索引,都可以禁掉,具体操作如下:

    1、编辑该文件:
    # vi /usr/local/nginx/conf/vhosts/yourpool.conf

    2、增加以下内容(示例):
    #禁止Scrapy等工具的抓取,注意已经取消curl抓取
    if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {

         return 403;
    }

    #禁止恶意user_agent访问
    if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa 
Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft
 URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports 
Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" )
    {
    
         return 403;             
    }

    #禁止非GET|HEAD|POST方式的抓取
    if ($request_method !~ ^(GET|HEAD|POST)$) {

        return 403;
    }

有一些单词中间有空格,所以两边需要使用双引号,禁用了若干个搜索引擎爬虫,还有几个恶意灌水机等,可以分析日志根据情况屏蔽恶意的User Agent。

CopyRight © 2017 荒山本的官方网站 粤ICP备16049175号 All Right Service 网站地图(xml) 网站地图(html)