Web網站實現用戶認證訪問,有效減少流量的訪問,具體的實現步驟如下:
我們使用httpd作為測試對象,體現安裝好httpd服務,並且可以在瀏覽器訪問測試首頁(可以關閉防火牆;如果不關閉防火牆,則需要開放80端口)
1、首先創建可以訪問的測試首頁
[root@localhost ~]# echo "Welcome to my Web!" > /var/www/html/index.html
2、修改Apache的配置文件/etc/httpd/conf/httpd.conf,對需要認證的資源所在的目錄進行配置。具體配置如下
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf .......... <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride AuthConfig Order allow,deny Allow from all Require all granted </Directory> ........... //其中,Allowoverride authconfig一行表示允許對/var/www/html目錄下的內容進行用戶認證;沒有的需要添加
3、在限制訪問目錄/var/www/html下創建文件.htaccess,其內容如下:
[root@localhost ~]# cd /var/www/html/ [root@localhost html]# touch .htaccess //一般設為隱藏文件;也可以設置普通文件 [root@localhost html]# vim .htaccess AuthName testWeb AuthType basic AuthUserFile /var/www/html/password.txt require user lisi

說明:.htaccess文件中常用的配置選項有以下幾個: 1、AuthName:定義提示信息,用戶訪問時提示信息會出現在認證的對話框中 2、AuthType:定義認證類型,在HTTP1.0中,只有一種認證類型:basic。在HTTP1.1中有幾種認證類型,如:MD5 3、AuthUserFile:定義包含用戶名和密碼的文本文件,每行一對 4、AuthGroupFile:定義包含用戶組和組成員的文本文件。組成員之間用空格分開,如:group1:user1 user2 5、require命令:定義哪些用戶或組才能被授權訪問。如: require user user1 user2 (只有用戶user1和user2可以訪問) requires groups group1 (只有group1中的成員可以訪問) require valid-user (在AuthUserFile指定的文件中的所有用戶都可以訪問)
4、利用Apache附帶的程序htpasswd工具,生成包含用戶名和密碼的文本文件:
[root@localhost html]# pwd /var/www/html [root@localhost html]# htpasswd -bc password.txt lisi 123456 //密碼文件的路徑必須與AuthUserFile寫的路徑一致,文件名一樣 Adding password for user lisi [root@localhost html]# ls index.html password.txt //第一次添加用戶時password.txt文件不存在,需要用-c選項創建文件 htpasswd -b /var/www/html/members.txt zhangsan abcdef //-b選項:在該密碼文件添加一個用戶
5、再次訪問