Apache中禁止IP段,在httpd.conf中的寫法 |
發(fā)布時間: 2012/8/11 9:08:27 |
說明: 控制哪些主機能夠訪問服務器的一個區(qū)域
語法: Allow from all|host|env=env-variable [host|env=env-variable] ... Allow指令影響哪些主機可以訪問服務器的一個區(qū)域?梢杂弥鳈C名、IP地址、 IP地址范圍或者其他環(huán)境變量中捕獲的客戶端請求特性來對訪問進行控制。 這個指令的第一個參數(shù)總是from。隨后的參數(shù)可以有三種不同形式。 如果指定Allow from all,則允許所有主機訪問,需要 Deny和Order指令像下面討論的那樣配置。 要只允許特定一部分主機或主機群訪問服務器,host可以用下面任何一種格式來指定: 一個域名(部分) IPv6地址和IPv6子網可以像下面這樣指定: Allow from fe80::a00:20ff:fea7:ccea Allow指令的第三種參數(shù)格式允許對服務器的訪問由 環(huán)境變量的一個擴展指定。指定 Allow from env=env-variable時,如果環(huán)境變量env-variable存在則訪問請求被允許。 使用由mod_setenvif提供的指令,服務器用一種基于客戶端請求的彈性方式提供了設置環(huán)境變量的能力。 因此,這條指令可以用于允許基于像User-Agent(瀏覽器類型)、Referer或者其他Http請求頭字段 的訪問。 例子: 這種情況下,發(fā)送以KnockKnock/2.0開頭的用戶代理標示的瀏覽器將被允許訪問,而所有其他瀏覽器將被禁止訪問。 Deny 指令 這條指令允許基于主機名、IP地址或者環(huán)境變量限制對服務器的訪問。 Deny指令的參數(shù)設置和Allow指令完全相同。 Order 指令 Order指令控制缺省的訪問狀態(tài)和 Allow與Deny指令被評估的順序。 Ordering是以下幾種范例之一: Deny,Allow 在下面的例子中,apache.org域中所有主機都允許訪問,而其他任何主機訪問都被拒絕。 Order Deny,Allow 下面例子中,apache.org域中所有主機,除了foo.apache.org子域包含的主機被拒絕訪問以外,都允許訪問。 而所有不在apache.org域中的主機都不允許訪問,因為缺省狀態(tài)是拒絕對服務器的訪問。 Order Allow,Deny 另一方面,如果上個例子中的Order指令改變?yōu)镈eny,Allow, 將允許所有主機的訪問。這是因為,不管配置文件中指令的實際順序如何, Allow from apache.org指令會最后被評估到并覆蓋之前的 Deny from foo.apache.org。所有不在apache.org 域中的主機也允許訪問是因為缺省狀態(tài)被改變到了允許。 即使沒有伴隨Allow和Deny指令,一個Order 指令的存在也會影響到服務器上某一個部分的訪問, 這是由于他對缺省訪問狀態(tài)的影響。例如, <Directory /www> 這樣將會禁止所有對/www目錄的訪問,因為缺省狀態(tài)將被設置為拒絕. Order指令只在服務器配置的每個段內部控制訪問指令的處理。 這暗示著,例如,一個在<Location>段出現(xiàn)的 Allow或者Deny指令總是將會在一個<Directory>段或者 .htaccess文件中出現(xiàn)的 Allow或Deny 指令之后被評估,而不管Order指令中的設置為何。要了解配置段落合并的詳細信息, 參看How Directory, Location and Files sections work相關文檔。 本文出自:億恩科技【mszdt.com】 |