采用PHP PEAR中的AUTH实现基本身份验证

王朝php·作者佚名  2006-01-09
宽屏版  字体: |||超大  

采用PHP PEAR中的AUTH实现基本身份验证

所需文件:

PEAR DB,Auth

表结构

CREATE TABLE auth (

username VARCHAR(50) default '' NOT NULL,

password VARCHAR(32) default '' NOT NULL,

PRIMARY KEY (username),

KEY (password)

);

代码:

<?php

require_once "Auth/Auth.php";

function loginFunction()

{

/**

* Change the HTML output so that it fits to your

* application.

*/

echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "?login=1\">";

echo "<input type=\"text\" name=\"username\">";

echo "<input type=\"password\" name=\"password\">";

echo "<input type=\"submit\">";

echo "</form>";

}

//此处控制是否应该显示登录对话框

if (isset($_GET['login']) && $_GET['login'] == 1) {

$optional = true;

} else {

$optional = false;

}

$dsn = "mysql://user:pass@localhost/authdb";

$a = new Auth("DB", $dsn, "loginFunction", $optional);

$a->start();

if (! isset($_GET['login'])) {

echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?login=1\">Click here to log in</a><br />\n";

}

if ($a->getAuth()) {

//add some code here

echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?action=logout\">Logout</a><br />\n";

} elseif($_GET['login'] == 1) {

echo "Please login";

}

//注销,重新登录

if ($_GET['action'] == "logout" && $a->getAuth()) {

$a->logout();

$a->start();

}

?>

这样一个简单的验证程序就好了,你可以自行扩展它的用户界面。

注:默认的口令加密码方式为MD5,即if (md5($_POST['password']) === password),表名和字段名不能变动,

password的字段长度最小为32

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有