如何理解Apache配置文件中的否认与允许

介绍

如何理解Apache配置文件中的否认与允许,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Apache配置文件中的拒绝与允许小结,本文着重讲解了拒绝和允许的执行顺序问题,需要的朋友可以参考下

今天在公司配置Zend本地Apache环境的时候,发现在zend.conf中的权限控制中的几段句子,如下所示:
,代码如下:
& lt;位置/server-status>,,
,,,SetHandler server-status ,,
,,,否认,allow ,,
,,,从all 否认;,,
,,,允许从127.0.0.1 ,,
& lt;/Location>

自己在配置虚拟主机的时候需要配置虚拟主机,
,代码如下:
& lt; VirtualHost *: 80比,,,
,,,ServerName backend ,,
,,,DocumentRoot“D:/程序文件/Zend/输入/根/public",,,
,,,SetEnv APPLICATION_ENV“development",,,
,,,& lt;目录“D:/程序文件/Zend/输入/根/public"祝辞,,
,,,,,,,DirectoryIndex index.php ,,
,,,,,,,AllowOverride All ,,
,,,,,,,允许,deny ,,
,,,,,,,允许从all ,,
,,,& lt;/Directory>,,
& lt;/VirtualHost>

两段顺序语句的不同引起了我的兴趣,那么到底这里的顺序是怎样执行的呢?先前联想到了“短路”的概念,有相同,也有不同,下面用几个例子来分析一下。
,代码如下:
,,,否认,allow ,,,,,,,,,,,
,,,(注意拒绝与允许之间只有一个逗号,并且只能这样书写,其他写法都是错误的),,,
,,,允许从all ,
,,,从219.204.253.8 否认;,,,

全部都可以通过。
,代码如下:
,,,否认,allow ,,
,,,从219.204.253.8 否认;,,
,,,允许all ,

-全部都可以通过。
,代码如下:
订单允许deny ,,
从219.204.253.8 否认;,,
允许从所有

只有219.204.253.8不能通过。
,代码如下:
订单允许deny ,,
允许从all ,
否认从219.204.253.8

只有219.204.253.8不能通过。

根据Apache官网的解释,让方向影响的是可以通过一个服务器区域的主机,这个主机可以通过主机名(主机名),IP地址,IP地址范围或者通过其他的客户端请求条件。与之相反的正是否认,否认控制的是不被服务器所允许的主机,否认的识别方式也是主机名(主机名),http://www.bbqmw.net/qm_bbqmbd/IP地址及范围,或者环境变量等。而位于顶层的顺序起到的作用就是制定规则。比如上面案例1中,我们的订单为先检查否认后检查允许,那么我们可以把下面的两句话当做一个列表,这两句话没有自然的先后顺序,即检查否认时候,我们发现219.204.253.8这台主机是满足拒绝条件的,那么就进行第二步检测,即允许的检查,发现允许做的事情是:允许从所有,意思即全部来源都可以获得通过。这里的关键是,一切访客进来之后都不是一棒子打死的,都要经过两步验证,那么可以发现全部机器都是可以获得通过的,与结果一致。

看完上述内容,你们掌握如何理解Apache配置文件中的拒绝与允许的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

如何理解Apache配置文件中的否认与允许