apache的order allow deny

回复 收藏
这个东西确实挺容易让我们迷糊。其实也不难,只要你掌握这样一条规律即可:
首先举个例子:
  1. Order deny,allow
  2. deny  from all
  3. allow from 127.0.0.1
我们判断的依据是这样的:
1. 看Order后面的,哪个在前,哪个在后
2. 如果deny在前,那么就需要看deny from 这句,然后看allow from 这一句
3.  规则是一条一条的匹配的,不管是deny在前还是allow在前,都是会生效的。比如例子中,先deny 了所有,然后又allow了127.0.0.1,所以127.0.0.1是通过的。

不妨再多举几个例子:
  1. Order allow,deny
  2. deny  from all
  3. allow from 127.0.0.1
这个就会deny所有了,127.0.0.1也会被deny。因为顺序是先allow然后deny,虽然一开始allow了127.0.0.1,但是后面又拒绝了它。
  1. Order allow,deny
  2. deny from all
全部都不能通行
  1. Order deny,allow
  2. deny from all
全部都不能通行
  1. Order deny,allow
全部都可以通行(默认的),记住即可
  1. Order allow,deny
全部都不能通行(默认的),记住即可
2011-09-06 08:58 举报
已邀请:
0

xiaotuanyu120

赞同来自:

有点意思
0

swenan

赞同来自:

占位标记
0

ztonglinyx

赞同来自:

懂了,谢谢
0

l5211314121

赞同来自:

2.4以上就用require了   现在用的那个版本的比较多呢
0

模范棒棒糖

赞同来自:

理解了。2个都会执行的。
0

lyhabc

赞同来自:

明白了
0

gjc159357

赞同来自:

学习了
0

模范棒棒糖

赞同来自:

2.4变成Require all granted
0

21emerald

赞同来自:

不写的话,就是all了
0

zh_414

赞同来自:

赞!嘻嘻
0

qin521ne

赞同来自:

很容易理解
0

sincethen

赞同来自:

Order指令控制默认的访问状态,与Allow和Deny指令生效的顺序。


Ordering取值范围是以下几种范例之一:
Deny,Allow
      Deny指令在Allow指令之前被评估。默认允许所有访问。任何不匹配Deny指令或者匹配Allow指令的客户都被允许访问。
Allow,Deny
      Allow指令在Deny指令之前被评估。默认拒绝所有访问。任何不匹配Allow指令或者匹配Deny指令的客户都将被禁止访问。


关键字Allow,Deny只能用逗号分隔;它们之间不能有空格。


apache.org域中所有主机都允许访问,而其他任何主机的访问都将被拒绝:
Deny,Allow默认状态是允许所有访问,后面限制了所有主机都不能访问(deny),但是 apache.org可以访问。
Order Deny,Allow
Deny from all

Allow from apache.org


Allow,Deny默认状态是拒绝对服务器的访问,后面限制apache.org域中所有主机可访问(allow),但foo.apache.org子域拒绝(deny)
Order Allow,Deny
Allow from apache.org

Deny from foo.apache.org


可以这样理解:
Deny,Allow默认状态是允许所有访问,然后反悔了使用deny不放行一些条件,然后又反悔了使用(allow)放行 一些(deny不允许的)条件。如果没有deny条件,后面allow没意义。


Allow,Deny默认状态是拒绝所有访问,然后反悔了使用allow放行了一些条件,然后又反悔了使用(deny)不放行一些(allow允许的)条件。如果没有allow条件,后面deny没意义。


解析下这个含义:

Order Allow,Deny


拒绝/data/www/data下所有的访问。

0

fh_panda

赞同来自:

学习了
0

369666951

赞同来自:

学习了
0

369666951

赞同来自:

学习了
0

zxc123

赞同来自:

学习了
0

zmh0415

赞同来自:

学习了,好东西
0

wanmei

赞同来自:

了解

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: