今天,我们的关注点就集中在 order deny,allow 这个语句中。在网上找了些资料,对它有了一些了解,写在这儿。
我们可能对apache中这个权限设置可能不太清楚,不同的顺序对权限到底有什么影响呢?实际上如果前后权限冲突,以后面的为主就可以了。
在这里,按照图层概念来确定最终的权限。
一、基本判断步骤
首先对下面的命令进行分析,需要四步
order deny,allow
deny from 202.10
allow from 202.10.123.23
1.判断默认权限。
order deny,allow 默认为允许所有,以后面的权限为准。
2.判断前面的权限。
deny from 202.10
先拒绝所有ip以202.10开头的连接
3.判断后面的权限。
allow from 202.10.123.23
后面的权限允许202.10.123.23连接。
4.合成最后的权限。
如图,把三个色块(白色,红色,绿色)按顺序贴在一起,就可以得到最后的权限,红色部分是拒绝的权限:
实际上就是最后的色块贴在最上面,所以,最终的权限以最后的设定为准。
二、分析事例
Order deny,allow
allow在最后,允许所有
-------------------------------
Order allow,deny
deny在最后,拒绝所有
-------------------------------
Order allow,deny
deny from all
拒绝所有
-------------------------------
Order deny,allow
deny from all拒绝所有
-------------------------------
Order deny,allow
deny from 219.204.253.8
默认允许所有,只拒绝219.204.253.8
-------------------------------
Order allow,deny
deny from 219.204.253.8
拒绝所有
-------------------------------
Order allow,deny
allow from 219.204.253.8
只允许219.204.253.8
-------------------------------
Order deny,allow
allow from 219.204.253.8
允许所有
-------------------------------
order deny,allow
allow from 218.20.253.2
deny from 218.20拒绝218.20,但允许其中的218.20.253.2,其它都允许
-------------------------------
Order 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
deny from all
allow from 219.204.253.8
拒绝所有
-------------------------------
Order deny,allow
allow from 219.204.253.8
deny from all
只允许219.204.253.8
-------------------------------
三、注意事项
1.deny,allow权限中间只能使用一个逗号,不能加空格。
2.顺序以order deny,allow中的deny,allow顺序为准,而不是以下面出现的顺序
欢迎访问我的个人主页: www.forgerui.tk