使用apache和htaccess對目錄訪問設置密碼保護配置教程

對目錄設置密碼保護配置說明
咱們有時候訪問某些網站的時候,要求輸入用戶名和密碼才能訪問。這是爲了保護隱私,只讓通過許可的人訪問。
在本教程中主要介紹兩種方法,一種是經過apache httpd.conf配置文件對管理後臺目錄設置密碼保護,適用於具備服務器控制權限的用戶,另外一種是經過.htaccess配置文件對目錄設置密碼保護,適用於虛擬主機用戶。php

方法一:apache httpd.conf配置文件對目錄設置密碼保護教程(下面兩個步驟)

-----------------------------------------------------------
1、使用apache htpasswd.exe建立密碼文件,命令請看PHP推薦教程:apache htpasswd命令用法詳解
apache htpasswd命令用法實例
一、如何利用htpasswd命令添加用戶?
在apache安裝目錄bin下找到htpasswdapache

[root@fabao365 /home/like]#usr/local/apache/bin/htpasswd -bc .passwd like like123456

  在/home/like目錄下生成一個.passwd文件,用戶名like,密碼:like123456,默認採用MD5加密方式
二、如何在原有密碼文件中增長下一個用戶?
  htpasswd -b .passwd leapsoul phpdev --------用戶名爲:leapsoul 密碼爲: phpdev
  去掉c選項,便可在第一個用戶以後添加第二個用戶,依此類推
三、如何不更新密碼文件,只顯示加密後的用戶名和密碼?瀏覽器

htpasswd -nb leapsoul phpdev

  不更新.passwd文件,只在屏幕上輸出用戶名和通過加密後的密碼
四、如何利用htpasswd命令刪除用戶名和密碼?安全

htpasswd -D .passwd like #刪除用戶like

五、如何利用htpasswd命令修改密碼?服務器

  htpasswd -D .passwd like #先刪除like
  htpasswd -b .passwd like like789 #再從新建立用戶like,密碼設爲like789

  即先使用htpasswd刪除命令刪除指定用戶,再利用htpasswd添加用戶命令建立用戶便可實現修改密碼的功能。
  至此,apache htpasswd命令的具體介紹和使用方法就介紹完了。
-----------------------------------------------------------
2、配置apache文件:
  一、打開apache 配置文件
  二、找到…塊,對test目錄訪問設置密碼保護ide

#vi /usr/local/apache/conf/extra/httpd-userdir.conf 
<Directory /data/www/www_fabao365_sys/>            -----------------這裏是須要保護的目錄
AuthType Basic
AuthName Authorize
AuthUserFile /home/fabxxxxxxxxxxxx/.htpass               絕對路徑
require user hlgboboXXXXX                                       --------只有用戶hlgboboXXXXX  才能訪問
</Directory>

三、保存,並重啓apache服務器。
  上述配置只容許hlgboboXXXXX 用戶以正確的密碼登錄才能訪問leapsoul/test/目錄
注意事項
  一、設置密碼保護的目錄路徑不要使用反斜槓,使用/
  二、密碼文件引用須要使用絕對路徑
注:咱們公司網站就是採用上述認證方式!
******************************************************************************************************************網站

方法二:使用.htaccess配置文件對目錄設置密碼保護教程

  一、使用apache htpasswd.exe建立密碼文件,命令請看PHP推薦教程:apache htpasswd命令用法詳解
  二、在須要保護的目錄下建立建立.htaccess配置文件(好比:/www/manage)
  三、在.htaccess配置文件中的寫入配置信息,.htaccess配置文件的寫法與apache配置文件有所不一樣,沒有Directoryui

#vi .htaccess
AuthType Basic
AuthName "WORKING CENTER"          #引號中的是說明文字,隨便寫
AuthUserFile /etc/.passwd        #AuthUserFile指的是保存用戶名和密碼的文件位置(絕對路徑)
Require like likeli                #用戶名爲like,密碼爲likeli(若是這行寫爲Require valid-user表示指定只有.htpasswd文件包含的合法用戶才能訪問。) 
     四、保存.htaccess配置文件,並將.htaccess配置文件放置

在須要設置密碼保護的目錄下,好比/data/www/XXXX目錄
  上述.htaccess配置功能與第一種方法實現的功能是同樣的。
  這時瀏覽加密的網站就須要輸入用戶名密碼了。
==========================================
.htaccess配置注意事項
  如何開啓.htaccess配置功能?
  除了和apache httpd.conf配置同樣須要注意的那些問題以外,容易出現的一個錯誤是若是配置不正確,會出現.htaccess配置文件不起做用的問題,這是由於apache AllowOverride指令,決定了你的.htaccess是否能正常開啓並啓用。從安全性考慮,apache httpd.conf配置文件中網站根目錄的AllowOverride屬性通常都配置成不容許任何Override ,即加密

<Directory />
AllowOverride None
</Directory>

因此要使apache可以正常的讀取.htaccess文件的內容,開啓.htaccess功能,使.htaccess配置文件中的設置起做用,就必須對網站根目錄或者.htaccess 所在目錄進行配置,將AllowOverride None更改成AllowOverride All。
  若是你是虛擬主機用戶在使用.htaccess配置文件對目錄設置密碼保護時,請諮詢你的主機商是否容許啓用.htaccess,並告知網站目錄的絕對路徑。-----------------------------------------
apache和.htaccess配置選項說明spa

  AuthName - 瀏覽器彈出登陸框時顯示的被保護的名字,可自行改動。
  AuthType Basic - 認證的類型。
  AuthUserFile - 指向apache htpasswd.exe生成的密碼文件,必須是絕對路徑
  Require - 設置能夠對被保護目錄進行訪問的用戶。
  require valid-user -就是指在 .passwd 中的任何一位用戶均可以訪問。
  require user username 或 require user username1 username2 username3 - 指定.passwd中的特定的用戶能夠訪問被保護的目錄。
  require group groupname - 指定用戶組來訪問被保護目錄。
  設置組的方法是再建立一個.htgroup配置文件:
    groupname1: username1 username2 username3
    groupname2: username1 username3 username4
  再在apache httpd.conf配置文件或者.htaccess配置文件中添加:
  AuthGroupFile C:/.htgroup

至此在本篇PHP教程中介紹使用apache和htaccess對目錄設置密碼保護配置方法就完成了,這兩種方法對提高網站目錄的安全性很是有用,特別是htaccess的安全性很是高,虛擬主機用戶能夠考慮使用。  

相關文章
相關標籤/搜索