欢迎来到点点SEO官网!
在线咨询: QQ249045439
seobg
掌握行业资讯,洞察营销市场

让价值共享,记录我们发展脚步,也让您获取知识

nginx屏蔽指定用户浏览器的办法

文章出处:www.idfaka.com    人气:477    发表时间:2024-07-06

什么是UA? 就是User Agent的简称, 学名为用户代理, 说白了就是用户上网用的浏览器软件。比如Google Chrome 浏览器、火狐浏览器、IE浏览器。他们在访问nginx时, 会在head头里面掺入一段声明自己浏览器属性的文字。当然某些黑客在用软件坑大家的时候, 也会搞一套类似的声明出来,另外有一些菜鸟写的采集爬虫、攻击器也会有空的UA声明出现, 了解这方面现象, 能够帮助大家迅速判断和解决问题。

nginx每个配置文件的地方

第一要掌握怎么样定位nginx配置文件的地方, 普通的nginx都会习惯性的安装到/usr/local/nginx, 若是如此的话, 配置文件就应该放到对应的conf目录里, 地方就在/usr/local/nginx/conf/nginx.conf

但有些同学不是如此放网站配置文件的, 而是放到conf下vhost或者vshots目录下的xxx.xxx.com.conf如此的, 分别以.conf扩展名结尾的配置文档里。

为了便捷管理,大家在conf文件夹下, 先新建一个专门用来屏蔽非法UA的文档, 命名为bad_ua.conf, 那样它的路径就是/usr/local/nginx/conf/bad_ua.conf

拦截非法UA的代码

大家需要用到一个nginx变量叫$http_user_agent, 模糊拦截时, 用约等号"~", 代码如下

123if){return404;}

注意, 有的黑客在攻击时会在工具里添加参数, 冒充搜狗搜索引擎之类的爬虫UA, 此时, 假如你想封掉这个UA, 中间需要输入空格, 如何解决? 用转义符反斜杠"\"加在空格前面, 便于nginx辨别到。其他类似括号、横杠也是一样加上这个反斜线转义符"\"。

用awk命令来剖析频繁访问主机的UA排名

这是一个代码案例,假设大家要剖析最新的一万次访问记录, 且nginx access日志打开, 路径为/usr/local/nginx/logs/access.log的首要条件下, 输入以下shell命令来剖析出到底是什么UA在拼命访问nginx:

1tail-n10000/usr/local/nginx/logs/access.log|awk-F\"'{A[$]++}END{forprintA[k],k}'|sort-n|tail

将拦截配置脚本引入nginx配置文件

上文提到了配置脚本被命名为bad_ua.conf, 放到conf目录下了, 那样仅需在相应网站配置地方下写一段代码就能了:

1includebad_ua.conf

一般都写在root /home/wwwroot/xxxx类似的配置语句下面。

最后别忘了重启nginx, 假设nginx主程序地方在/usr/local/nginx/sbin/nginx, 那样命令应该是

1/usr/local/nginx/sbin/nginx-sreload

重启完毕后拦截配置功能适才正式生效。

    热门文章排行

    最新资讯文章