快速业务通道

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

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-06

二.??? 采用数据库存储? 目前,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;?//?无效登录? }? }? ?>? 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号