Apache服务器的用户认证

经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。

Apache是目前流行的Web服务器,可运行在Linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、Oracle、MySQL等数据库。下面以Linux的Apache为例,就这两种存贮方式,分别介绍如何实现用户认证功能,同时对Windows的Apache用户认证作简要的说明。

采用文本文件存储

这种认证方式的基本思想是:Apache启动认证功能后,就可以在需要限制访问的目录下建立一个名为.htaccess的文件,指定认证的配置命令。当用户第一次访问该目录的文件时,浏览器会显示一个对话框,要求输入用户名和密码,进行用户身份的确认。若是合法用户,则显示所访问的页面内容,此后访问该目录的每个页面,浏览器自动送出用户名和密码,不用再输入了,直到关闭浏览器为止。以下是实现的具体步骤:

以超级用户root进入Linux,假设Apache 1.3.12已经编译、安装到了/usr/local/apache目录中。缺省情况下,编译Apache时自动加入mod_auth模块,利用此模块可以实现“用户名+密码”以文本文件为存储方式的认证功能。

1.修改Apache的配置文件/usr/local/apache/conf/httpd.conf,对认证资源所在的目录设定配置命令。下例是对/usr/local/apache/htdocs/members目录的配置:

<Directory /usr/local/apache/htdocs /members>

Options Indexes FollowSymLinks

allowoverride authconfig

order allow,deny

allow from all

</Directory>

其中,allowoverride authconfig一行表示允许对/usr/local/apache/htdocs/ members目录下的文件进行用户认证。

2.在限制访问的目录/usr/local/apache/htdocs/members/http://www.bbqmw.net/qm_bbqmbd/宝宝起名宝典下建立一个文件.htaccess,其内容如下:

AuthName "会员区"

AuthType basic

AuthUserFile/usr/local/apache/members.txt

require valid-user

说明:文件.htaccess中常用的配置命令有以下几个:

1) AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的(见附图)。

2)AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。

3) AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。

4) AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:

managers:user1 user2

5) require命令:指定哪些用户或组才能被授权访问。如:

require user user1 user2(只有用户user1和user2可以访问)

requiresgroupsmanagers (只有组managers中成员可以访问)

require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/usr/local/apache/members.txt,每行内容格式为“用户名:密码”。

原文地址:https://www.cnblogs.com/murongyuling/p/10979113.html

时间: 2024-10-24 08:37:09

Apache服务器的用户认证的相关文章

Apache(httpd)配置--用户认证,域名跳转和访问日志配置

一.用户认证 用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问.一些比较好总要的站点和网站后台都会加上用户认证,以保证安全.实例:下面对zlinux.com站点来做一个全站的用户认证: 步骤1:编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //在linuxtest.com虚拟主机下编辑添加以下内容 <VirtualHost *:80> Documen

centos7编译安装apache后添加用户认证和配置虚拟主机

编译安装apache后的目录文件:/usr/local/apache2 1:用户认证 主配置目录:/usr/local/apache2/conf/ 1)建立目录并设置用户认证: Alias  /1.php/ "/usr/local/apache2/htdocs/1.php" <Directory"/usr/local/apache2/htdocs/"> AllowOverride None Options None Order allow,deny De

Linux -- Web服务器配置之用户认证;Perl语言解释器的安装

一.用户认证 用户认证在网络安全中是非常重要的技术之一,它是保护网络系统资源的第一道防线.用户认证控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源.当用户第一次访问了启用用户认证目录下的任何文件,浏览器会显示一个对话框,要求输入正确的登录用户名和口令进行用户身份的确认.若是合法用户,则显示所访问的文件内容.此后访问该目录的每个文件时,浏览器会自动送出用户名和密码,不用再输入了,直到关闭浏览器为止.用户认证功能起到了一个屏障的作用,限制非授权用户非法访问一些

apache进程和用户请求的关系

apache工作模式: beos工作模式(跟linux关系不大,或者暂时用不上) 在Beos系统上的工作模式,使用一个单独的控制线程来创建和控制处理请求的工作线程. event工作模式(不太稳定,或者说暂时用不上) event模式由于把服务进程从链接中分离出来,在开启KeepAlive场合下相对worker模式能够承受的了更高的负载.event模式为 worker开发的变种模式,配置以及指令与worker完全相同.不过event模式不能很好的支持https的访问,有时还会出现一系列的问题. wo

以Apache服务器、php语言为例 详解动态网站的访问过程

目前来说,网站页面主要分为静态页面和动态页面,纯静态页面组成的网站现在相对比较少见,大型网站一般使用的是动态网站建站技术,还有一部分网站是静态网页与动态网页共存, 本文以Apache服务器.php语言为例,详解动态网站的访问过程,下面直接切入本文主题. (1)用户端访问服务器端的html文件 S1:通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中的Web主机域名解析为Web服务器所在的Linux操作系统(Apache通常与Linux操作系统组合使用)中对应的IP地址. S2:

Apache用户认证;域名跳转;

扩展 apache虚拟主机开启php的短标签   http://www.aminglinux.com/bbs/thread-5370-1-1.html 1. 编辑第二个虚拟主机设定Apache用户认证(访问网站需要用户密码认证) [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 插入内容如下(设定指定网站访问认证参数如下位置如图) <Directory /data/wwwroot/111.co

apache工作机制,压缩,虚拟主机,用户认证

从服务器角度一次web资源请求具体过程 建立连接:tcp三次握手 接收请求 处理请求 访问资源 构建响应报文 发送响应 记录日志 =================================================================== httpd工作模型 阻塞模型,单进程模型.缺点:每次只能响应一个请求,对于现代的高并发无满足 只有一个进程,每次只能响应一个用户的请求 . 多进程模型,缺点:不停的创建和收回进程,进程间切换也耗费时间. httpd监听在套接字上,每当

apache用户认证访问机制

Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/www(apache的主页根目录)下建立一个test目录mkdir /var/www/test第2步然后我们编辑httpd.conf添加Alias /test"/var/www/test"Options Indexes MultiViewsAllowOverride AuthConfig #表

Apache虚拟目录、用户认证、基于端口/IP/域名的虚拟主机、SSL

环境配置: 配置DNS以便域名解析 安装Bind软件包. yum install -y bind 2. 修改Bind配置文件. vim /etc/named.conf listen-on port 53 { 192.168.200.101; }; allow-query { any; }; vim /etc/named.rfc1912.zones zone "a.com" IN { type master; file "a.com.localhost"; allow