apache .htaccess 登入帳號,密碼機制


apache 內建可以針對網頁路徑,要求用戶必須輸入帳號、密碼的功能,有了這個功能,就不需求用 PHP 或 ASP 撰寫 Form 表單來驗證帳號,只要簡單的對 apche conf 做設定,就能完成 Web 登入機制,一般來說,apache 設定檔都會命名為 「.」開頭的檔案名稱,如 .htaccess , .ht,再將設定值寫進設定檔中,帳密的檢查方式有三種,分別是 Basic 、Digest、DBM。


啟用 .htaccess


利用 apache 內建的功能,自動載入 .htaccess 的設定檔,一般安裝 apache 的時候,預設是有 AllowOverride None,這是指定 apache 自動載入 .htaccess 設定檔,若是 apache conf 中沒有這個值,就要手動加上去。


Example
<Directory />
   AllowOverride None
</Directory>
Auth Basic


這是最常見的一種登入設定,首先使用 「htpasswd」的指令建立密碼檔,「htpasswd」這個指令在安裝 apache 時候就有了,可以查看 apache 安裝目錄 「apache/bin/」。


建立帳號 user htpasswd -c .htpasswd user


修改帳號 user 的密碼 htpasswd .htpasswd user


經過上一個步驟,我們就建立好密碼檔 .htpasswd 了,這個檔案最好要移到安全的資料夾,不對外公開,否則只要駭客取得你的密碼檔,可以很快的就破解取得帳號與密碼,將檔案搬到安全的地點後,就修改 apache conf 指定那個資料夾需要有登入機制(/var/www),並指定密碼檔的路徑。


apache conf file 範例
Example
<Location /var/www>
AuthType Basic
AuthName "Please input admin password"
AuthUserFile /var/.htpasswd
Require valid-user
</Location>
將密碼檔分成多個檔案


假如你的密碼檔的帳號很多,又不想存放在同一個檔案的時候,可以使用 Auth Provider 的方式,將密碼檔分成多個檔案,這樣就可以方便分開管理不同的群組。


Example
<AuthnProviderAlias file pswd1>
    AuthUserFile /var/pswd/.passwd1
</AuthnProviderAlias>
<Location /xxx>
AuthType Basic
AuthName "Please input admin password"
AuthBasicProvider pswd1
Require valid-user
</Location>
Auth Digest


這是比較新的密碼加密方式,不過不是所有的瀏覽器都會支援,建立密碼的方式,也是 apache 本身就內建的,指令為 htdigest ,相關資料可以參考下列的網址


http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html
This post was last modified by Puritys Chen in 2013/11/17
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值