LAMP--Apache 访问控制
2017-11-15
LAMP--Apache 访问控制
allow 和 deny 的规则。
例:
Order deny,allow
deny from all
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 是通过的。
例:
Order allow,deny
deny from all
allow from 127.0.0.1
这个就会 deny 所有了,127.0.0.1 也会被 deny 。因为顺序是先 allow 然后 deny,虽然一开始 allow 了 127.0.0.1,但是后面又拒绝了它。
Order allow,deny
deny from all
上面的规则表示,全部不能通
Order deny,allow
deny from all
上面的规则表示,全部不能通
Order deny,allow
只有顺序,没有具体的规则,表示,全部可以通(默认),因为先 deny 所有,后 allow 所有。
Order allow,deny
这个表示,全部不能通(默认),因为先 allow 所有,后 deny 所有。
具体应用
(1)某个目录做限制,比如该目录很重要,只允许我们公司的 IP 访问,当然这个目录可以是网站根目录,也就是整个站点都要做限制了。
<Directory /data/www/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
说明:只允许 127.0.0.1 访问,其他 IP 全部拒绝掉。
(2)针对请求的 URI 去限制,前面安装的 discuz 论坛,访问后台是 admin.php ,那我们就可以针对这个 admin.php 做限制。
<filesmatch "(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
说明:这里用到了 filesmatch 语法,表示匹配的意思。