阅读内容 

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

[日期:2004-07-24] 来源:天极网  作者: [字体: ]
二.??? 采用数据库存储?

目前,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;?//?无效登录?

}?

}?

?>?

阅读:
录入:

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
Advertisement
内容查询


Advertisement