使用apache htpasswd生成加密的password文件,並使用.htaccess控制文件夾訪問

htpasswd 是apache的小工具。在apache安裝文件夾bin下可找到。apache

Usage:
	htpasswd [-cmdpsD] passwordfile username
	htpasswd -b[cmdpsD] passwordfile username password

	htpasswd -n[mdps] username
	htpasswd -nb[mdps] username password
 -c  建立一個新的加密password文件
 -n  不更新文件。顯示結果
 -m  使用MD5加密password
 -d  使用CRYPT加密password(默認)
 -p  不加密password
 -s  使用SHA加密password
 -b  直接在命令行輸入password。而不是提示後再輸入password
 -D  刪除用戶
在Windows, NetWare與 TPF系統,'-m' 是默認的password加密方式。

在所有其它系統,'-p'可能不能使用。安全


1.生成加密password文件

htpasswd -c .pass fdipzone
New password: 
Re-type new password: 
Adding password for user fdipzone

這樣就生成了一個使用CRYPT加密password的文件

下面命令可以生成用md5加密password的文件,b參數的做用是在命令行直接把password輸入。這樣就不需要等提示輸入password再輸入了。
ide

htpasswd -cmb .pass fdipzone 123456
Adding password for user fdipzone

2.改動password

htpasswd .pass fdipzone
New password: 
Re-type new password: 
Updating password for user fdipzone

3.添加用戶

htpasswd .pass guest
New password: 
Re-type new password: 
Adding password for user guest

4.刪除用戶工具

htpasswd -D .pass guest
Deleting password for user guest
假設使用p參數,不加密密碼。系統會提示Warning。所以爲了安全最好不要使用p參數。

htpasswd -cp .pass fdipzone
Warning: storing passwords as plain text might just not work on this platform.

.htaccess 調用加密password文件控制訪問權限


首先 Allowoverride 需要設置爲 AuthConfig 或 All
ui

而後在需要控制訪問的文件夾下添加.htaccess
this


.htaccess內容例如如下
加密

AuthType "Basic"
AuthName "Password Required" #提示文字
AuthUserFile "/home/fdipzone/sites/pass/.pass" #加密password的文件
Require valid-user

當訪問該文件夾下的文件時,則會彈出要求輸入username和password的輸入框。輸入正確的username和password後就能正常訪問。spa



tips:爲了安全,加密的password文件請不要放在線上用戶可以訪問的路徑。
命令行

相關文章
相關標籤/搜索