Nginx 防爬虫

    xiaoxiao2021-03-25  110

    经常会有一些不遵守robots规则的垃圾爬虫爬取网站信息,浪费了网站的带宽以及资源,可通过nginx对其进行屏蔽,示例如下:

    ~*代表不区分大小写匹配,所以大小写都无所谓的

    屏蔽AhrefsBot垃圾爬虫

    if ($http_user_agent ~* AhrefsBot) {

       return 403;

    }

    如果需要屏蔽多个爬虫,可配置如下:

    if ($http_user_agent ~* AhrefsBot|MSNBot) {

       return 403;

    }

    具体的配置信息如下:  server {  listen 80;  server_name ***** if ($http_user_agent ~*"qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo!Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou webspider|MSNBot|ia_archiver|Tomato Bot")  return 403; 

     

    在linux下可通过命令测试:

    curl -iA "AhrefsBot" www.fsech.com

    此网站已屏蔽AhrefsBot爬虫,可做测试,返回结果为403
    转载请注明原文地址: https://ju.6miu.com/read-13395.html

    最新回复(0)