- 相關(guān)推薦
教你應(yīng)用份認(rèn)證模塊和.htaccess文件保證Web安全
要限制對(duì)一個(gè)網(wǎng)頁(yè)的訪問,可使用Apache和第三方提供的身份認(rèn)證模塊和方法來驗(yàn)證用戶的憑據(jù)(如用戶名和密碼)。一些模塊支持通過各種數(shù)據(jù)庫(kù)(包括NIS和LDAP)進(jìn)行身份認(rèn)證。
用戶認(rèn)證指令通常放置在.htaccess文件中。下面是使用Apache默認(rèn)身份認(rèn)證模塊(mod_auth)的一個(gè)基本.htaccess文件。當(dāng)這個(gè)文件放置在/var/www中時(shí),會(huì)導(dǎo)致Apache要求用戶輸入密碼進(jìn)行驗(yàn)證,然后瀏覽器才能訪問/var/www目錄層次結(jié)構(gòu)中的內(nèi)容。應(yīng)用時(shí),要用本地服務(wù)器的相應(yīng)值進(jìn)行替換。
# cat .htaccess
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Browser dialog box query"
AuthType Basic
require valid-user
/var/www/.htpasswd是一個(gè).htpasswd文件的典型絕對(duì)路徑名,用戶在要求輸入用戶名和密碼的對(duì)話框中會(huì)看到字符串Browser dialog box query。
前面.htaccess文件的第二行關(guān)閉組功能。第四行指定用戶的身份認(rèn)證類型為Basic,這也是mod_auth模塊的默認(rèn)設(shè)置。最后一行告訴Apache哪些用戶可以訪問受保護(hù)的目錄。valid-user條目會(huì)授權(quán)任何用戶(用戶名在Apache密碼文件中并且輸入的密碼正確)訪問該目錄。
只要Apache可以讀取其密碼文件,該文件可放在系統(tǒng)上的任何地方。把這個(gè)文件與.htaccess文件放在同一目錄下也是安全的,因?yàn)槟J(rèn)情況下,Apache將不會(huì)對(duì)名字以.ht開頭的任何文件的請(qǐng)求進(jìn)行回復(fù)。但是一定不要更改httpd.conf配置文件,以防Apache對(duì)名字以.ht開頭的文件的請(qǐng)求進(jìn)行回復(fù)。
下面的命令將在工作目錄中創(chuàng)建(–c)一個(gè)帶有Sam條目的.htpasswd文件。省略–c選項(xiàng)可以在現(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文件),必須將這個(gè)指令更改為AllowOverride AuthConfig或?qū)⑵鋭h除。
在Apache已配置為可處理.htaccess文件后,當(dāng)它收到對(duì)文件的請(qǐng)求時(shí),必須從所請(qǐng)求的文件向上遍歷目錄層次結(jié)構(gòu)一直到根目錄,查找.htacess文件,以確定它是否可以提供該請(qǐng)求的文件。此搜索可能會(huì)影響性能。通常情況下性能下降不太嚴(yán)重,但如果性能很關(guān)鍵,則這個(gè)問題將很棘手。
【教你應(yīng)用份認(rèn)證模塊和.htaccess文件保證Web安全】相關(guān)文章:
教你怎么把WPS上傳文件到云文檔11-26
怎么啟用文件和打印共享11-26
保護(hù)電腦文件安全的途徑10-14
文件壓縮包安全技巧05-10
教你在Excel里輕松插入符號(hào)分?jǐn)?shù)和特殊字符11-27
Web前端工作總結(jié)02-08
電腦刪除文件顯示“文件夾或文件已在另一程序中打開”10-12
《給未來一份責(zé)任》語文閱讀和答案10-17