时间:2021-05-19
本文介绍 Nginx 禁止指定 UA 访问的配置。
UA,即 Http User Agent,在 Nginx 中使用内置变量 $http_user_agent 表示,该信息作为 request header 的一部分被发往 webserver。因此,对 webserver 来说,有一种禁止访问的方式,就是对 UA 进行判断。
禁止搜索引擎爬虫
因为你懂的原因,并不是太希望 Baidu 这类爬虫来我的网站,所以在 Nginx 中使用 if 对 UA 进行判断:
if ($http_user_agent ~* "qihoobot|Baidu|Baiduspider|Baiduspider-image|Baiduspider-video|Baiduspider-news|Baiduspider-favo|Baiduspider-cpro|Baiduspider-ads|Baiduboxapp|YisouSpider|EasouSpider|YodaoBot|YoudaoBot|Sosospider|Sogou|^$") { return 444; }禁止下载工具
if ($http_user_agent ~* "Scrapy|HttpClient|Curl|Wget|Idm|Aria2|Axel|Thunder|Youtube-dl|Movgrab|rtorrent|ctorrent|Transmission-cli|vuze") { return 444; }禁止国产浏览器访问
if ($http_user_agent ~* "360|360SE|360EE|2345Explorer|maxthon|sogou|theworld|qiyu|green|qq|qqbrowser|tt|liebao|lbbrowser|tao|taobao|coolnovo|saayaa|uc|mi|xiaomi|baidu|yandex|micromessenger|wechat|weibo|douban|suning|iqiyi|alipay|ali-ap|ali-ap-pd|ali-am|ali-tb|ali-tb-pd|ali-tm|ali-tm-pd") { return 444; }禁止指定系统访问
也有某些国产系统,例如 aliyun os 这样的,我也想禁止它的访问:
if ($http_user_agent ~* "yunos") { return 444; }结论
根据以上可以看出,要对 UA 进行判断,规则就是:
if ($http_user_agent ~* "UA关键词") { ... }不过这种方法缺点很明显,因为 UA 实在太容易伪造了 ,不过防一下不经伪造的请求(例如国产搜索爬虫)还是可以的。当然也有些更靠谱的方式,例如对 session 的验证。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
金山毒霸怎么设置禁止访问指定网站?金山毒霸禁止访问指定网站的功能可以用广告过滤这一功能实现。如果要让全部(或指定)浏览器禁止访问指定网站,还需进行一定的设置。装
在nginx要禁止某个或一类资源,只需要增加一个location,然后在其中使用denyall即可。禁止访问扩展名为bat的文件,配置如下:location~*
这篇文章介绍怎样用web服务器列出指定的目录和文件,并对指定目录进行授权访问。使用Nginx列出目录准备工作-安装nginx和创建一些目录和文件:复制代码代码如
一、禁止指定IP防问网站,并执行相应操作:复制代码代码如下:0Then'符合禁止的IP执行相应的操作Response.write"您所在的IP禁止访问"resp
shell版Nginx日志蜘蛛爬取查看脚本用之前改一下nginx日志的路径即可如果更多的蜘蛛自己在代码蜘蛛UA数组里加即可#!/bin/bashm="$(dat