• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Apache服务器的用户认证(3)

发布: 2007-5-25 23:56 | 作者: 未知 | 来源: Yesky | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网 MILY: 黑体; mso-ascii-font-family: 'Times New Roman'">二.    采用数据库存储 

目前,Apache、PHP4、MySQL三者是Linux下构建Web网站的最佳搭档,这三个软件都是免费软件。将三者结合起来,通过HTTP协议,利用PHP4和MySQL,实现Apache的用户认证功能。 

只有在PHP4以Apache的模块方式来运行的时候才能进行用户认证。为此,在编译Apache时需要加入PHP4模块一起编译。假设PHP4作为Apache的模块,编译、安装Apache到/usr/local/apache目录,编译、安装MySQL到/usr/local/mysql目录。然后进行下面的步骤:  

1.在MySQL中建立一个数据库member,在其中建立一个表users,用来存放合法用户的用户名和密码。 

1)用vi命令在/tmp目录建立一个SQL脚本文件auth.sql,内容为: 

drop database if exists member; 

create database member; 

use member; 

create table users ( 

username char(20) not null, 

password char(20) not null, 

); 

insert into users values("user1",password("1234")); 

insert into users values("user2",password("5678")); 

2)启动MySQL客户程序mysql,执行上述SQL脚本文件auth.sql的命令, 在表users中增加两个用户的记录。 

#mysql -u root -pmypwd</tmp/auth.sql 

2.编写一个PHP脚本头文件auth.inc,程序内容为: 

?php 

function authenticate() { 

Header(WWW-authenticate: basic realm="会员区"); 

Header(HTTP/1.0 401 Unauthorized); 

echo "你必须输入正确的用户名和口令。n"; 

exit; 

function CheckUser($uname, $pwd) { 

if ($uname == "" || $pwd == "") return 0; 

$query = "SELECT username,password FROM users WHERE username=$uname and password=password($pwd)"; 

$db_id = mysql_connect(localhost, oot, mypwd); 

mysql_select_db(member,$db_id); 

$result = mysql_query($query, $db_id); 

$num=mysql_num_rows($result); 

mysql_close($db_id); 

if ($num>0) { 

return 1; // 有效登录 

} else { 

return 0; // 无效登录 

?> 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网