Loading
0

nginx 屏蔽UA爬虫蜘蛛、禁止执行脚本、屏蔽ip

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

nginx 屏蔽UA爬虫蜘蛛、禁止执行脚本、屏蔽ip
以下代码需添加到配置文件server段内

屏蔽指定UA爬虫蜘蛛和UA为空


   if ($http_user_agent ~ "Scrapy|Go-http-client|HttpClient|SemrushBot|Webdup|AcoonBot|AhrefsBot|Ezooms|EdisterBot|EC2LinkFinder|jikespider|Purebot|MJ12bot|WangIDSpider|WBSearchBot|Wotbox|xbfMozilla|Yottaa|YandexBot|Jorgee|SWEBot|spbot|TurnitinBot-Agent|mail.RU|perl|Python|Xenu|ZmEu|wget|^$" )
    {
      return 444;
    }

禁止某个目录执行脚本

【单nginx下有效,如使用了nginx+apache组合,php交给apache处理,需要通过.htaccess进行限制】,添加到location ~ .php  之前

 

    location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
        return 444;
    }

屏蔽某个IP或IP段


    #屏蔽192.168.5.23这个IP
    deny 192.168.5.23;
    #屏蔽192.168.5.* 这个段
    deny 192.168.5.0/24;

禁止非GET|HEAD|POST方式的抓取


    if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 444;
    }

防止文件被下载


    location ~ \.(zip|rar|sql|bak|gz|7z)$ {
      return 444;
    }

修改nginx配置之前务必做好备份,修改完毕后需要重载一次nginx,否则不会生效。
上面大部分规则返回444状态码而不是403,因为444状态码在nginx中有特殊含义。nginx的444状态是直接由服务器中断连接,不会向客户端再返回任何消息,比返回403更加暴力。












 
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-7-35520-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?

最后编辑于:2019-07-20 17:42:50作者:

上一篇:手动添加nginx 的ssl模块方法
下一篇:nginx 无法启动 错误提示nginx: [emerg] zero size shared memory zone "allips" 处理方法