怎么應(yīng)用份認(rèn)證模塊與.htaccess文件保證Web安全
發(fā)表時間:2023-08-15 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]要限制對一個網(wǎng)頁的訪問,可使用Apache和第三方提供的身份認(rèn)證模塊和方法來驗證用戶的憑據(jù)(如用戶名和密碼)。一些模塊支持通過各種數(shù)據(jù)庫(包括NIS和LDAP)進行身份認(rèn)證。用戶認(rèn)證指令通常放置在....
要限制對一個網(wǎng)頁的訪問,可使用Apache和第三方提供的身份認(rèn)證模塊和方法來驗證用戶的憑據(jù)(如用戶名和密碼)。一些模塊支持通過各種數(shù)據(jù)庫(包括NIS和LDAP)進行身份認(rèn)證。
用戶認(rèn)證指令通常放置在.htaccess文件中。下面是使用Apache默認(rèn)身份認(rèn)證模塊(mod_auth)的一個基本.htaccess文件。當(dāng)這個文件放置在/var/www中時,會導(dǎo)致Apache要求用戶輸入密碼進行驗證,然后瀏覽器才能訪問/var/www目錄層次結(jié)構(gòu)中的內(nèi)容。應(yīng)用時,要用本地服務(wù)器的相應(yīng)值進行替換。
# cat .htaccess
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Browser dialog box query"
AuthType Basic
require valid-user
/var/www/.htpasswd是一個.htpasswd文件的典型絕對路徑名,用戶在要求輸入用戶名和密碼的對話框中會看到字符串Browser dialog box query。
前面.htaccess文件的第二行關(guān)閉組功能。第四行指定用戶的身份認(rèn)證類型為Basic,這也是mod_auth模塊的默認(rèn)設(shè)置。最后一行告訴Apache哪些用戶可以訪問受保護的目錄。valid-user條目會授權(quán)任何用戶(用戶名在Apache密碼文件中并且輸入的密碼正確)訪問該目錄。
只要Apache可以讀取其密碼文件,該文件可放在系統(tǒng)上的任何地方。把這個文件與.htaccess文件放在同一目錄下也是安全的,因為默認(rèn)情況下,Apache將不會對名字以.ht開頭的任何文件的請求進行回復(fù)。但是一定不要更改httpd.conf配置文件,以防Apache對名字以.ht開頭的文件的請求進行回復(fù)。
下面的命令將在工作目錄中創(chuàng)建(–c)一個帶有Sam條目的.htpasswd文件。省略–c選項可以在現(xiàn)有.htpasswd文件中添加用戶或更改密碼。
$ htpasswd -c .htpasswd sam
New password:
Re-type new password:
Adding password for user sam
默認(rèn)的httpd.conf文件包括用于/var/www的AllowOverride None指令。要啟用Apache來處理用戶認(rèn)證指令(如讀取.htaccess文件),必須將這個指令更改為AllowOverride AuthConfig或?qū)⑵鋭h除。
在Apache已配置為可處理.htaccess文件后,當(dāng)它收到對文件的請求時,必須從所請求的文件向上遍歷目錄層次結(jié)構(gòu)一直到根目錄,查找.htacess文件,以確定它是否可以提供該請求的文件。此搜索可能會影響性能。通常情況下性能下降不太嚴(yán)重,但如果性能很關(guān)鍵,則這個問題將很棘手。
Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。