Apache配置文件中的deny与allow小结
作者:junjie 发布时间:2021-01-07 18:29:28
今天在公司配置Zend本地Apache环境的时候,发现在zend.conf中的权限控制中的几段句子,如下所示:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
自己在配置虚拟主机的时候需要配置VirtualHost,
<VirtualHost *:80>
ServerName backend
DocumentRoot "D:/Program Files/Zend/Apache2/htdocs/public"
SetEnv APPLICATION_ENV "development"
<Directory "D:/Program Files/Zend/Apache2/htdocs/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
两段Order语句的不同引起了我的兴趣,那么到底这里的顺序是怎样执行的呢?先前联想到了“短路”的概念,有相同,也有不同,下面用几个例子来分析一下。
Order deny,allow
–(注意deny与allow之间只有一个逗号,并且只能这样书写,其他写法都是错误的)
Allow from all
Deny from 219.204.253.8
全部都可以通过。
Order deny,allow
Deny from 219.204.253.8
Allow from all
–全部都可以通过 。
Order allow,deny
Deny from 219.204.253.8
Allow from all
只有219.204.253.8不能通过。
Order allow,deny
Allow from all
Deny from 219.204.253.8
只有219.204.253.8不能通过 。
根据Apache官网的 解释,allow方向影响的是可以通过一个服务器区域的主机,这个主机可以通过主机名(hostname)、IP地址、IP地址范围或者通过其他的客户端 请求条件。与之相反的正是deny,deny控制的是不被服务器所允许的主机,deny的识别方式也是主机名(hostname)、IP地址及范围、或者 环境变量等。而位于顶层的Order起到的作用就是制定规则。比如上面案例1中,我们的Order为先检查deny后检查allow,那么我们可以把下面 的两句话当做一个list,这两句话没有自然的先后顺序,即检查deny时候,我们发现219.204.253.8这台主机是满足拒绝条件的,那么就进行 第二步检测,即allow的检查,发现allow做的事情是:allow from all,意思即全部来源都可以获得通过。这里的关键是,一切访客进来之后都不是一棒子打死的,都要经过两步验证,那么可以发现全部机器都是可以获得通过 的,与结果一致。
案例2中,Order顺序是先deny后allow,那么我们的步骤即在deny规则里面发现219.204.253.8是满足deny规则的,那 么进入第二步检查,发现依然是allow all,结果同样是全部允许。这里我们可以得到的结论是,Order语句之后的两个from语句的自然先后顺序是没有关系的,检查的顺序完全是按照 Order事先约定好的进行。
这样来看案例3就比较容易了,我们的Order是先allow后deny,那么deny具有最终决定权,即在allow说通过之后各个访客还需要进行拒绝检查,发现219.204.253.8这台主机是不满足的,那么进行拒绝。案例4可以用同样的方法进行分析。


猜你喜欢
- 参考:docker官方redis文档1.有特殊版本需求的可以查看redis镜像tag版本3.2.11, 3.2, 3 (3.2/Docker
- 导读:美国IT网站eWeek今日撰文列举了谷歌发展历程中10件很少为外人所知的事情。以下为文章全文:1、布林曾效力于竞争对手上世纪90年代,
- 时逢祖国60华诞,小编看完庄严隆重的国庆阅兵式后仍然激动不已,于是就将家里的老照片翻了出来“忆苦思甜&rdquo
- 一、 环境及相关软件虚拟机:VMwore WorkstationLinux系统:CentOSORACLE:ORACLE_112030_Lin
- windows服务器对于系统管理员来说至关重要,近日,国外媒体曾报道过Windows服务器在营收比例方面,依然是市场上遥遥的领先者。鉴于此,
- 前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写
- 淘宝会员一次注册,两种身份!今起,淘宝网1.45亿会员将无需注册,即可直接登入淘宝网以外的电子商务平台进行购物啦!据了解,近期淘宝网开放了外
- 不论是个博客还是网站,我们比较喜欢WordPress程序作为网站内核。我们选择WP肯定有其优于其他CMS的原因,但是我们能否在细节处理好自己
- CloudStack 环境重新部署: &nbs
- 之前写了篇文章说博客的事,但是关于微博的这部分,也许有误读。原来的观点是:原来把博客当成圈子的人,转移到交流更加方便的SNS,微博客去了。其
- 站长之家(chinaz.com)3月17 日消息:时隔快1年,国内知名ASP平台的博客程序Zblog新版将再次与用户见面。据官方管理员称,Z
- 1。首先下载安装vmware 12 pro ,将VT打开(虚拟功能,以前安装过虚拟机点的同学可忽略)。2。下载mac ox 10.12正式版
- Dedecms一直是很火的建站cms,主要得益于两大站长网的鼎力支持;不过,人火是非多,cms太火了同样会被别有用心的人盯上。我的网站一直在
- VMware版本:VMware-workstation-full-16VMware版本:VMware-workstation-full-15
- 有用户咨询GoDaddy的Linux主机如何设置高级目录权限,在此整理了份详细的教程更您参考。1、登陆你的Account Manager.2
- 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载
- 选择“使用自定义共享和文件夹权限”,点击自定义按钮之后弹出自定义权限设置界面。在这里可以根据需要对不
- 大多数人都有过这样的经历,在浏览网页的时候,经常不知误点哪个按钮,就会莫名其妙打开一个网站,这些网站或是“挂马网站”,只要点击就会中“木马病
- .htaccess 是什么?htaccess (hypertext access,超文本访问) 是为网站所有者提供用于控制服务器环境变量以及
- 大家好,我是良许。大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此。我们在工作的过程中,经常会看到 /dev/null 这个玩