authtype basic authuserfile /usr/home/***/htdocs/.abcname1 authgroupfile /usr/home/***/htdocs/.abcname2 authname information <limit get post> require valid-user </limit> 其中第二行和第三行中的***可以改為個人的FTP登錄名。.abcname1和.abcname2可以是任意的文件名,如.htpasswd、.htpass,但不能是.htaccess。將.htaccess上傳到要進行密碼保護的目錄(如htdocs)中。 .htaccess文件最後的“require”告訴服務器哪些用戶可以進入。require valid-user是指只要是.htpasswd中的任何一個都可以進入。也可以指定名單上的某人或某幾人可以通過,使用require user username或require user username1 username2 username3。還可以指定某組人可以通過,使用require group groupname。 3.增加新的許可用戶 進入htdocs目錄,在命令行狀態輸入以下命令生成.abcname1文件。
echo > .abcname1 /var/www/bin/htpasswd .abcname1 abc abc表示要增加的用戶名。輸入此命令後,系統會提示輸入此用戶密碼,這樣該用戶名就生效了。以後如要再增加用戶,運行第二行的命令時換一個用戶名即可。如果這個用戶名存在,則會提示修改密碼。 4.建立允許訪問的組 組的設置方法是建立一個名為.htgroup的文本文件,內容如下:
groupname1: username1 username2 username3 groupname2: username1 username3 username4 並在.htaccess中加上“AuthGroupFile /absolute/path/.htgroup”。以ASCⅡ模式上傳所有文件後,該目錄中的所有文件都會被保護起來。 設置錯誤文件 如果希望在找不到文件時不出現“找不到網頁”的頁面提示,而是打開另一個HTML文件,方法也很簡單。首先編寫一個新的頁面,然後用文本編輯器打開.htaccess,在文件最後加上:ErrorDocument 404 404.html。這裡,404.html是錯誤文件的名字,即所顯示的頁面;404是錯誤代碼。一般常見的錯誤代碼和所代表的錯誤原因如下:
401 Authorization failed 授權失敗,即密碼錯誤。 403 Access denied 存取錯誤,即不可以讀取該文件。 404 File not found 找不到文件。 500 Internal Server Error 服務器內部錯誤,可能是Web服務器本身存在問題,也可能是編寫的程序出錯。 禁止讀取文件 如果將某些內容如密碼,存放在一個文件中,那麼別人只需知道該文件的對應位置,就可以一目了然,這樣太不安全。其實完全可以不改變其它設置,也不用將文件移到其它地方就可解決這個問題,只需在.htaccess文件中加入以下幾行:
<Files filename.ext> order allow,deny deny from all </Files> 如果系統安裝的是Apache 1.3以後的版本,更可以支持regular eXPression的filesmatch。
<filesmatch "\.tmp"> order allow,deny deny from all </filesmatch> files和filesmatch表示只對符合要求的部分文件生效。“order deny,allow”表示先找出禁止(deny)的,然後去找許可的(allow)。如果將它們的順序顛倒“order allow,deny”則表示先找出許可的,後才去找禁止的。“deny from all”則表示全部IP地址都不許可。相對地,“allow from all”表示全部都允許。可以這樣設置:
order allow,deny allow from all deny from 111.222 deny from 111.222是指禁止所有以111.222開始的IP地址(如111.222.0.1)。除了設置IP地址外,也可以設置成hostname(如:***.com)。“Files”和“Filesmatch”的用途很多,不但可以設置deny,也可以設置個別文件的密碼,如:
<files 123> require user 123 </files> <files abc> require user abc </files> 使用.htaccess文件也會存在一些問題,比如性能。如果使用.htaccess文件,則Apache需要在每個目錄中查找該文件,還必須在所有更高級的目錄中查找它,另外,每次請求一個頁面時,也都需要讀取.htaccess文件。因此,允許使用.htaccess文件都會導致性能的下降。 例如,對/usr/hq/htdocs中頁面的請求,Apache必須查找以下文件:
/.htaccess /usr/.htaccess /usr/hq/.htaccess /usr/hq/htdocs/.htaccess 總的來說,通過.htaccess來保護網站更為方便和安全。因為它不像利用程序實現密碼保護時,有可能通過猜測的方法獲取密碼。利用.htaccess文件實現密碼保護,一般是很難破解的。鑒於.htaccess方式的優缺點,讀者可以根據具體的情況選擇適合的方法來保證網站的安全。(T111)