《计算机网络 --基于因特网的信息服务平台》 (第2版) 实验7 Apache认证和应用 《计算机网络 --基于因特网的信息服务平台》 (第2版)
实验6 Apache认证和应用 1.实验目的 2.实验任务与要求 3.实验工具和方法 4.实验步骤 5. 实验思考题
1.实验目的 Apache的访问认证: 了解和掌握Apache服务器的发布目录下,设置访问“禁 区”的基本方法,以保护Web服务器中的敏感数据和资源
Apache访问认证的概念 不少读者在访问一些网站的某些资源时,浏览器 弹出一个对话框,要求输入用户名和密码来获取 对资源的访问,这就是Web服务器要求用户进行 认证的一种形式 Web用户认证控制着所有登录并检查访问用户的 合法性,其目的是仅让合法用户以合法的权限 访问网络系统的资源 基本的用户认证技术是“用户名+密码”,是服 务器级认证技术
Web访问认证的应用场景 例如,在Apache Friends的环境中, phpmyadmin是一个重要的数据库的Web客户端, 具有数据库管理员的访问权限,对网站数据库具有 重大影响 不能允许非授权用户进行访问 Web访问认证可以控制对phpmyadmin的访问, 只有通过认证的用户可以进入
2.实验任务与要求 企业应用的一个重要特点是对用户访问进行限制, 一个网站除了向公众提供信息外,也会向内部人员 提供信息专区,这往往需要对客户进行认证 在web应用中,对用户进行认证的方式有许多种, 包括Web服务器级的认证,Web应用程序级的认证 和SSL证书认证等 本实验结合Apache介绍Web服务器级认证
3.实验工具和方法 基本环境设置: 控制对象 Windows XP, Apache Friends 1.0 安装在c:\xampp下 Apache Friends中的phpmyadmin目录(MySQL数据库的 管理界面)
实验工具和环境介绍(1) Apache是一种Web服务器,可运行在Linux、 Windows等操作系统下,Apache用户认证所需 要的用户名和密码有两种不同的存贮方式: 文本文件 MSQL、Oracle、MySQL等数据库 要启动Apache认证功能,系统管理员须在限制访 问的目录下建立.htaccess(在Windows下用 htaccess)文件 在Apache的配置文件(httpd.conf)中设置相应 的认证命令
实验工具和环境介绍(2) 当网络用户首次访问该目录的某个文件时,浏览器 会弹出一个对话框,要求输入用户名和密码,进行 用户身份的确认 若是合法用户,则显示所访问的页面内容,此后访问该目 录的每个页面,浏览器自动送出用户名和密码,不用重复 输入,直到关闭浏览器为止 这里以文本文件储存用户密码信息形式为例,说明 配置Apache用户认证的基本过程
4.实验步骤 1、对Apache配置文件 httpd.conf进行两处修改 第一处内容为: allowoverride authconfig 表示允许对/xampp/phpmyadmin目录下的文 件进行用户认证 第二处修改内容,因为是在Windows下进行实验, 所以需要把: AccessFileName .htaccess 改为: AccessFileName htaccess
建立htaccess文件 2、在限制访问的目录/xampp/phpmyadmin下, 建立一个名为htaccess的文件,其内容如下 : AuthName "Database" AuthType basic AuthUserFile /xampp/phpmyadmin/doglookgate Require valid-user
htaccess中常用的配置命令 AuthName:指定认证区域名称,显示在认证的对话框中 提示用户 AuthType:指定认证类型。在HTTP1.0中,只有一种认 证类型:basic。在HTTP1.1中有几种认证类型,如: MD5 AuthUserFile:指定一个包含用户名和密码的文本文件, 每行一对 AuthGroupFile:指定包含用户组清单和这些组的成员清 单的文本文件。组的成员之间用空格分开,如: managers:user1 user2 require:指定哪些用户或组才能被授权访问 如:require user user1 user2 (只有用户user1和 user2可以访问)
生成htpasswd文件 3、利用Apache附带的程序htpasswd,生成包 含用户名和密码的文本文件: /xampp/phpmyadmin/doglookgate 文件中每行内容格式为“用户名:密码” 例如: htpasswd -bc doglookgate user1 1234 htpasswd -b doglookgate user2 5678 以上命令生成两个可认证用户,doglookgate文 件中的内容为: user1:$apr1$V6......$AjSnsqC.KicD5RY.PJgq y1 user2:$apr1$B8......$xqjCVP9pJq/LpHmIZb 7wb
注意事项 生成用户密码的htpasswd.exe在 /xampp/apache/bin下,必须进入 DOS状态进行操作 读者在做实验时,需要把生成的用户 密码文件(doglookgate),转移到 /xampp/phpmyadmin/下,以便与 htaccess文件的配置对应
访问认证测试 用户访问Apache Friends测试页面时,浏览会弹 出用户认证对话框 用户输入正确的用户名和口令,就可以访问到 Apache Friends的数据库操作界面 (phpmyadmin),否则将被拒之门外
实验思考题 Apache的认证与操作系统、Web应用系统、 MySQL服务器的认证有什么相同点和不同点?