拒绝允许你拒绝我的权利–Apache Order命令

Apache最常见的权限管理命令就是Order了,它属于mod_authz_host模组,他的规则和一般的防火墙规则不一样,因为Allow和Deny都要执行,而普通的防火墙都是如果符合某个规则就直接可以判定是否拒绝访问了。

Order Deny,Allow

首先执行所有以Deny开头的规则,符合Deny规则,并且没有出现在Allow规则的请求会被拒绝。也就是说符合Deny规则后还要继续执行Allow规则,才能决定是否允许访问。符合Allow规则的允许访问,不符合Deny和Allow的请求默认允许,网站的公开部分应该用这种规则,默认允许访问。

Order Allow,Deny

首先执行Allow开头的规则,不符合规则的拒绝访问,符合Allow规则的请求还要通过Deny规则的检验,要是满足Deny规则仍然会被禁止访问,不满足Allow和Deny规则的请求默认禁止访问。这种规则适合于只限于特定用户访问的情况。

Order Deny,Allow

Deny from All

Allow from gamerh2o.com

上面的规则只接受来自gamerh2o.com的请求

Order Deny,Allow

Deny from badguy.com

Allow from All

上面的命令实际上允许所有用户访问,因为Allow指令后执行,覆盖了前面的Deny命令

Order Allow,Deny

Allow from welcome.com

Deny from All

上面的命令welcome.com被拒绝访问,因为Deny指令后执行,覆盖了前面的Allow指令

Order Deny,Allow

没有显式的指令,默认允许访问

Order Allow,Deny

没有显式的指令,默认拒绝访问

posted @ 2011-10-07 20:33  GamerH2o  阅读(158)  评论(0编辑  收藏  举报