Web网站实现用户认证访问(加密访问)

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、再次访问  

 

 

 

 

posted @ 2020-08-24 13:00  阮小言  阅读(2425)  评论(0编辑  收藏  举报