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

BK网络学院主要内容:平面设计教程,网站开发在线教程,网页制作教程,服务器教程,网络编程,数据库教程等。