Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。
order主要由三句话组成
第一句:Order Deny,Allow或Order Allow,Deny
第二句:Deny from xxx 或 Allow from xxx
第三局:Allow from xxx 或 Deny from xxx
描点法,将Allow 想象成白点,Deny想象成黑点
第一步:解析第一句
1)想象有一张纸(Order的每一句话都是一个图层)
2)先看第一句:如果是Order Deny,Allow: 默认,相当于允许所有访问通过。(将纸描成全白);如果是Order Allow,Deny: 默认,相当于拒绝所有访问通过。(将纸描成全黑);
3)根据第一句结尾再看第二句:如果第一句结尾是Allow,则先Deny from xxx,在纸上描上黑点。如果第一句结尾是Deny,则先看Allow form xxx,在纸上描白点。
4)再看第三句:如果是Allow from xxx, 先看xxx范围,与上一句的关系大致分为:不相关,包含,被包含。根据关系描白点。Dent from xxx 同上。
5)再看纸的黑白分布,得出结果。
例:
order deny,allow(第一句: allow结尾结尾,描白)
allow from 218.20.253.2(第三句,判断范围,deny包含allow,所以allow白点描在第二局黑点里面)
deny from 218.20(因为第一句allow结尾,所以第二句是这句。描上一个拒绝218.20开头ip访问的黑点)
画为后的图为:
很容易就可以判断,拒绝IP218.20开头的IP(黑色部分)但允许其他包括218.20.253.2的IP访问
参考:https://www.cnblogs.com/top5/archive/2009/09/22/1571709.html