(五)
這裡可以看到另外一個語句Limit,Limit語句就是用來針對具體的請求方法來設定訪問控制的,其中可以使用GET、POST等各種伺服器支持的請求方法做Limit的參數,來設定對不同請求方法的訪問限制。一般可以開啟對GET、POST、 HEAD三種請求方法,而遮閉其他的請求方法,以增加安全性。Limit語句中,可以用Order 、Allow、Deny,Allow和Deny中可以使用匹配的方法針對域名和IP進行限制,只是對於域名是從後向前匹配,對於IP位址則從前向後匹配。
DirectoryIndex index.html
很多情況下,URL中並沒有指定文件的名字,而只是指出了一個目錄名。那麼Apache伺服器就自動返回這個目錄下由DirectoryIndex定義的文件,當然可以指定多個檔案名字,系統會這個目錄下順序搜尋。當所有由DirectoryInde x指定的文件都不存在時,Apache伺服器可以根據系統設定,產生這個目錄下的所有文件列表,提供用戶選項。此時該目錄的訪問控制選項中的Indexes選項(Options Indexes )必須開啟,以使得伺服器能夠產生目錄列表,否則Apache將拒絕訪問。
AccessFileName .htaccess
AccessFileName定義每個目錄下的訪問控制文件的檔案名,預設為.htaccess,可以通過更改這個文件,來改變不同目錄的訪問控制限制。
Order allow,deny
Deny from all
除了可以針對目錄進行訪問控制之外,還可以根據文件來設定訪問控制,這就是File語句的工作。使用File 語句,不管文件處於哪個目錄,只要名字匹配, 就必須接受相應的訪問控制。這個語句對於系統安全比較重要,例如上例將遮閉所有的使用者不能訪問.htaccess文件,這樣就避免.htaccess中的關鍵安全資訊不至於被客戶獲取。
#快取NegotiatedDocs
預設情況下如果代理伺服器和Apache伺服器協商是否快取其網頁,Apache給予否定的回答,不希望自己的網頁被代理伺服器快取。然而這樣就不能有效的利用代理伺服器的優勢,因此可以設定快取NegotiatieDocs 選項, 使得代理伺服器可以對網頁進行快取。然而即使不設定這個選項,有的代理伺服器(或通過調整設定)也能對網頁進行快取。
UseCanonicalName On
開啟這個UseCanonicalName是Web伺服器的標準做法,因為客戶傳送的大部分請求都是對本伺服器的引用,這樣伺服器就能使用ServerName和Port選項的設定內容構建完整的URL,並回應客戶,使瀏覽器能得到規範的URL。如果 將這個參數設定為Off,那麼Apache將使用從客戶請求中獲得伺服器的名字和連接阜值(支持HTTP 1.1的客戶的請求中將會有這些資訊),重新構建URL。
TypesConfig /usr/local/apache/etc/mime.types
TypeConfig用於設定儲存有不同的MIME檔案類型資料的檔案名,在Linux下預設設定為/usr/local/apache/etc/mime.types。
DefaultType text/plain
如果Web伺服器不能決定一個文件的預設檔案類型,這通常表示文件使用了非標準的後面,那麼伺服器就使用 DefaultType定義的MIME檔案類型將文件傳送給客戶瀏覽器。這裡的設定為text/plain,這樣設定的問題是,如果伺服器不能判斷出文件的MIME,那麼大部分情況下這個文件為一個二進制文件,但使用 text/plain格式傳送回去,瀏覽器將在內部開啟它而不會提示儲存。因此建議將這個設定更改為application/octet-stream,這樣瀏覽器將提示用戶進行儲存。
MIMEMagicFile /usr/local/apache/etc/magic
除了從文件的後面出發來判斷文件的MIME檔案類型之外,Apache還可以進一步分析文件的一些特徵,來判斷文件的真實MIME檔案類型。這個功能是由mod_mime_magic 模組實現的,它需要一個記錄各種MIME檔案類型特徵的文件,以進行分析判斷。上面的設定是一個條件語句,如果載入了這個模組,就必須指定相應的標誌文件magic的位置。
|