apache配置Directory目錄許可權的配置

2021-07-07 04:11:28 字數 2727 閱讀 6782

2014-6-13

閱讀144

可以使用這對語句為主目錄或虛擬目錄設定許可權,它們是一對容器語句,必須成對出現,它們之間封裝的是具體 的設定目錄許可權語句,這些語句僅對被設定目錄及其子目錄起作用。下面是主配置檔案中設定目錄許可權的例子。

options indexes multiviews

allow override none

order allow,deny

allow from all

(1)定義目錄使用哪些特性

options indexes multiviews

options選項用於定義目錄使用哪些特性,包括indexes、multiviews和execcgi等,如表7-1所示。

表7-1           目錄特性選項

命令說明

indexes

允許目錄瀏覽

當客戶僅指定要訪問的目錄,但沒有指定要訪問目錄下的哪個檔案,而且目錄下不存在預設文件時,apache以超文字形式返回目錄中的檔案和子目錄列表(虛擬目錄不會出現在目錄列表中),如圖7-8所示

multiviews

允許內容協商的多重檢視

multiviews其實是apache的乙個智慧型特性。當客戶訪問目錄 中乙個不存在的物件時,如訪問「則apache會查詢這個目錄下所有a.*檔案。由於 icons目錄下存在a.gif檔案,因此apache會將a.gif檔案返回給客戶,而不是返回出錯資訊

allall包含了除multiviews之外的所有特性,如果沒有options語句,預設為all

execcgi

允許在該目錄下執行cgi指令碼

followsymlinks

可以在該目錄中使用符號連線

includes

允許伺服器端包含功能

includesnoexec

允許伺服器端包含功能,但禁用執行cgi指令碼

讓主目錄允許目錄瀏覽

細心的使用者可能會發現雖然在主目錄設定了indexes許可權,且主目錄中並不存在預設文件,但訪問時並不會出現目錄列表,而只出現apache的測 試頁面。解決這個問題的方法很簡單,只要將位於/etc/httpd/conf.d/目錄下的welcome.conf檔案刪除後重啟apache即可。

允許目錄瀏覽要小心

一旦定義允許目錄瀏覽,就會將web站點的資料夾和檔名結構暴露給黑客。目錄瀏覽還會允許黑客瀏覽檔案並掌握伺服器配置資訊,所以指定該許可權往往帶來安全性上的隱患。除非有充足的理由要使用目錄瀏覽,否則應該禁用它。

(2)設定.htaccess檔案中的指令型別

allowoverride none

allowoverride選項用於定義位於每個目錄下.htaccess(訪問控制)檔案中的指令型別。基於安全和效率的原因,雖然可以通 過.htaccess來設定目錄的訪問許可權,但應盡可能地避免使用.htaccess檔案,所以一般將allowoverride設定為」none」,即 禁止使用.htaccess檔案,而將目錄許可權的設定放在主配置檔案httpd.conf的和語句之間。

(3)設定預設的訪問許可權與allow和deny語句的處理順序

order allow, deny

order選項用於定義預設的訪問許可權與allow和deny語句的處理順序。allow和deny語句可以針對客戶機的網域名稱或ip位址進行設定,以決定哪些客戶機能夠訪問伺服器。order語句通常設定為以下兩種值之一。

allow, deny:預設禁止所有客戶機的訪問,且allow語句在deny語句之前被匹配。如果某條件既匹配deny語句又匹配allow語句,則deny語句會起作用(因為deny語句覆蓋了allow語句)。

deny, allow:預設允許所有客戶機的訪問,且deny語句在allow語句之前被匹配。如果某條件既匹配deny語句又匹配allow語句,則allow語句會起作用(因為allow語句覆蓋了deny語句)。

下面舉一些例子來說明order、allow和deny語句的使用方法。

【例1】允許所有客戶機的訪問。

order allow,deny

allow from all

【例2】除了來自hacker.com域和ip位址為192.168.16.111的客戶機外,允許所有客戶機的訪問。

order deny ,allow

deny from hacker.com

deny from 192.168.16.111

【例3】僅允許來自網路192.168.16.0/24客戶機的訪問。

order allow,deny

allow from 192.168.16.0/24

對比:

order deny ,allow

allow from 192.168.16.0/24

這兩條語句是允許所有客戶機的訪問。

【例4】僅允許來自網路192.168.16.0/24客戶機的訪問,但ip位址為192.168.16.111的客戶機除外。

order allow,deny

allow from 192.168.16.0/24

deny from 192.168.16.111

對比:order deny ,allow

allow from 192.168.16.0/24

deny from 192.168.16.111

由於allow語句覆蓋了deny語句,因此這3條語句是允許所有客戶的訪問

建造者模式(Builder和Director)

建造者模式 將乙個複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。構建與表示分離,同構建不同表示 假如乙個物件的構建很複雜,需要很多步驟。則可以使用建造者模式,將其構建物件和組裝成乙個物件這兩步給分開來。構建部分為 builder 和組織部分 director 實現了構建和裝配的解耦...

Apache配置技巧

apache配置技巧 1 如何設 置請求等待時間 在httpd.conf裡面設定 timeout n 其中n為整數,單位是秒。設定這個timeout適用於三種情況 2 如何接收乙個get請求的總時間 接收乙個post和put請求的tcp包之間的時間 tcp包傳輸中的響應 ack 時間間隔 3 如何使...

Apache 基本配置

apache 配置詳解 配置檔案 httpd.conf 1.基本配置 serverroot d apache apache的安裝目錄 listen 80 伺服器監聽的埠號 servername www.com 80 主站點名稱 的主機名 serveradmin qq.com 管理員的郵件位址 doc...