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可以用同样的方法进行分析。

标签:Apache,配置文件,deny,allow
0
投稿

猜你喜欢

  • linux用户组以及权限总结

    2023-07-13 14:16:43
  • 使用docker部署spring boot并接入skywalking的方法

    2021-12-06 10:22:42
  • 几款优化wordpress博客精华插件

    2010-03-23 14:18:00
  • Linux Shell脚本实现检测tomcat

    2023-11-03 02:27:41
  • Linux组基本介绍知识点总结

    2023-10-03 01:42:34
  • 总结:FTP错误代码详解

    2007-12-24 09:42:00
  • 图王:谈谈赚钱,与落伍的兄弟们一起分享

    2008-10-10 12:49:00
  • 中文点击网赚 问题站点的判断

    2009-07-24 15:20:00
  • 提高你博客性能的十条建议

    2008-05-28 13:52:00
  • 安装WordPress后必做的30件事

    2011-01-31 17:47:00
  • 苹果年底升级Boot Camp 支持Windows 7

    2009-10-23 08:14:00
  • FTP登陆错误问题完全分析

    2007-03-29 10:13:00
  • Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解

    2022-12-27 06:34:37
  • 谷歌首次公布Adsense广告分成比例68%

    2010-05-25 17:40:00
  • centos7安装chronyd服务方式

    2022-06-17 15:04:19
  • 重视你的口碑 负面信息处理常见四种方法

    2009-02-20 12:53:00
  • GoDaddy主机有关CGI/FastCGI的问题解答

    2010-04-09 12:54:00
  • 剖析淘宝客赚钱亮点

    2010-05-16 10:02:00
  • VMware安装CentOS图文教程

    2021-05-02 16:39:43
  • 网络营销无难事:逃走的浏览者

    2009-02-25 18:46:00
  • asp之家 网站运营 m.aspxhome.com