基于用户名和密码的认证只是方法之一,时常会有不需要知道来访者是谁,只需要知道来自哪里的情况。
Allow和Deny指令可以允许或拒绝来自特定主机名或主机地址的访问,同时,Order指令告诉Apache处理这两个指令的顺序,以改变过滤器。
这些指令的用法:
Allow from address
address可以是一个IP地址(或者IP地址的一部分),也可以是一个完整的域名(或者域名的一部分),还可以同时指定多个IP地址和域名。
比如,要拒绝不受欢迎的兜售垃圾的站点:
Deny from 205.252.46.165
这样,这个指令所管辖的区域将拒绝所有来自该地址的访问。除了指定IP地址,也可以指定域名,如:
Deny from host.example.com
另外,还可以指定地址或域名的一部分来阻止一个群体:
Deny from 192.168.2 //这是我们隔壁部门使用的网段 :) Deny from msn.com microsoft.com //不喜欢它们 Deny from du //对面的那个家伙
Order可以组合Deny和Allow指令,以保证在允许一个群体访问的同时,对其中的一些又加以限制:
Order deny,allow Deny from all Allow from dev.example.com
只列出Allow指令不会得到你想要的结果,因为它在允许指定对象访问的同时并不禁止其他未列出的对象的访问。所以上例使用的方法是:首先拒绝任何人,然后允许来自特定主机的访问。