1. 程式人生 > >Apache目錄訪問許可權配置詳解

Apache目錄訪問許可權配置詳解

給指定的資料夾配置對應的訪問許可權是Apache配置中的基礎應用,也是Apache使用者的必備技能之一。

在Apache配置檔案中,給指定目錄設定基本的訪問許可權,主要是靠AllowDenyOrder三個指令的配合使用來實現的。

1.Allow指令

Allow指令的作用與其英文單詞的含義一致,用於設定允許訪問當前目錄(及其子目錄)或檔案的使用者範圍。例如,Allow from all表示允許所有使用者訪問。下面,我們參考更多的例子,以幫助理解(DenyOrder用法一致):

<Directory /web>
#只允許IP為123.10.10.2的使用者訪問/web目錄
Allow from 123.10.10.2
</Directory>
<Directory /web>
#只允許IP以10.10開頭的使用者訪問/web目錄
Allow from 10.10
</Directory>
<Directory /web>
#只允許域名為365mini.com的使用者訪問
Allow from 365mini.com
</Directory>

2.Deny指令

同樣的,Deny指令的作用就是「Deny(拒絕)」,用於設定拒絕訪問當前目錄或檔案的使用者範圍。例如,Deny from all表示拒絕所有使用者訪問。

3.Order指令

在Apache的配置檔案中,Order指令用於控制Allow指令和Deny

指令的生效順序。例如,Order Allow,Deny表示當前配置段中的Allow指令先生效,Deny指令後生效。

在Apache中,Allow指令和Deny指令在同一配置段中都可以有多條。不過,對於AllowDeny指令而言,如果先生效的指令與後生效的指令的作用範圍存在衝突,則起衝突的作用範圍部分以後生效的指令為準。

下面,我們同樣參考幾個具體的例子以幫助大家理解:

<Directory /web>
Order Allow,Deny
Allow from all
Deny from 112.2.10.2
#先允許所有使用者訪問,再拒絕112.2.10.2
#總結:允許除IP為112.2.10.2外的所有使用者訪問
</Directory>
<Directory /web>
Order Allow,Deny
Deny from 112.2.10.2
Allow from all
#先允許所有使用者訪問,再拒絕112.2.10.2
#總結:允許除IP為112.2.10.2外的所有使用者訪問
#(即使Deny指令在Allow指令之前,但是根據Order Allow,Deny語句,仍然先看Allow,再看Deny)
</Directory>
<Directory /web>
Order Deny,Allow
Deny from 112.2.10.2
Allow from all
Deny from 123.10.10.1
#先拒絕112.2.10.2訪問
#再拒絕123.10.10.1訪問
#最後允許所有使用者訪問
#總結:允許所有使用者訪問
#(即使Allow指令在Deny指令前,但是根據Order Deny,Allow語句,仍然先看Deny,再看Allow)
</Directory>