Unix下使用Apache實現用戶認證
用戶認證在網絡安全中是非常重要的技術之一,通常主要是為了限制非授權用戶的非法訪問。其實應用比較簡單,比如說我一網站,域名是:www.51ww.com,那么我的首頁是允許用戶訪問的,但是假如我的 http://www.51ww.com/admin目錄是我的網站管理目錄,我不希望別人訪問,為了防止非法登陸和一些SQL Injection等攻擊,那么我就可以使用用戶認證了,別人只要打開http://www.51ww.com/admin目錄或者該目錄下的任何文件,都要輸入登陸用戶名和密碼才能查看該目錄下的內容,那么就起到了一個屏障的作用,很好的防止了一些非法登陸。
簡單講了下原因,那么我們就簡單的說一下如何在Apache中實現該功能。(以下的平臺是 FreeBSD5.3 + Apache 2.0.52)
我們要實現該功能,需要兩個步驟:
1. 建立密碼表
假設我們的apache是安裝在/usr/local/apache2下面的,那么我們執行下面的操作:
# cd /usr/local/apache2/bin
# ./htpasswd -c admin.txt admin_login // 在當前目錄下建立一個admin.txt的密碼文件,存儲登陸密碼,同時用戶是admin_login
那么就會提示你輸入密碼:
New password: ********
Re-type new password: ********
Adding password for user admin_login
就證明添加成功了,并且把用戶名和密碼存儲到了/usr/local/apache2/bin/admin.txt文件里,默認的密碼是加密的,不知道是MD5加密還是SHA加密,反正是不可逆的密碼。
2. 修改httpd.conf文件
修改Apache的配置文件httpd.conf文件,是為了指定那個文件需要使用該用戶名和密碼來訪問,那么我們就在 /usr/local/apache2/conf/httpd.conf 添加如下內容:
<Directory "/usr/www/admin">
Options MultiViews
AllowOverride None
AuthType Basic
AuthName "Login User"
AuthUserFile /usr/local/apache2/bin/admin.txt
require user admin_login
</Directory>
上面的定義就是,我們的網站根目錄是在 /usr/www下面,我們需要進行認證的目錄是在 /usr/www/admin 下,進行認識證的密碼文件是在 /usr/local/apache2/bin/admin.txt中,用戶名是 admin_login, 同時提示的內容是 Login User。
保存httpd.conf后,重新啟動Apache,那么我們現在訪問 http://www.51ww.com/admin 就會彈出需要輸入用戶名和密碼對話框。
當然,以上的用戶認證不止這么簡單,還要有比較復雜的應用,可以參考其他文件,比如下面這幾篇:
http://5700.blogdriver.com/5700/113165.html
http://www.sd99.com/image/xiaoran/article/81.html
http://www.5ilinux.com/apache03.html
Write By heiyeluren 2005/04/08
關鍵字:Apache、用戶認證、網站
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解