用户认证及管理(完全版) 作者:MAX -- begin auth.inc -- <?php $id = "xxxCOM"; if(!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm="$id""); Header("HTTP/1.0 401 Unauthorized"); require('error.inc'); exit; } $name = $PHP_AUTH_USER; $pass = $PHP_AUTH_PW; require("connect.inc"); $query = "select * from auth where username='$name' && realm='$id'"; $result = mysql_db_query("admin", $query); if(mysql_num_rows($result) == 0) { Header("WWW-Authenticate: Basic realm="$id""); Header("HTTP/1.0 401 Unauthorized"); require('error.inc'); exit; } $active = mysql_result($result,0,"active"); if($active == 'no') { ?> <HTML><HEAD> <TITLE>404 Not Found</TITLE> </HEAD><BODY> <H1>Not Found</H1> The requested URL <? echo $REQUEST_URI; ?> was not found on this server.<P> </BODY></HTML> <?php exit; } ?> -- end auth.inc -- -- begin connect.inc -- <?php mysql_connect("localhost", "user", ""); ?> -- end connect.inc -- -- begin error.inc -- 此文件存放错误信息及返回! -- end error.inc -- -- 用户库结构(自己调整)-- CREATE TABLE auth ( id smallint(6) DEFAULT '0' NOT NULL auto_increment, username varchar(16) DEFAULT ' NOT NULL, lastname tinyblob, firstname tinyblob, password varchar(16), realm varchar(16), active char(3), PRIMARY KEY (id), UNIQUE id (id), UNIQUE username (username) ); -- 用户库结构结束-- -- 添加用户示例-- insert into auth (username, lastname, firstname, password, realm, active) values ('admin','my','love','password','xxxCOM','yes'); -- 结束-- --用户管理程序开始 usermanage.php -- <?php include("auth.inc"); ?> <?php if ($PHP_AUTH_USER != "admin") { Header("WWW-Authenticate: Basic realm="xxxCOM 客户认证""); Header("HTTP/1.0 401 Unauthorized"); echo "Access Denied!n"; exit; }; if ($PHP_AUTH_PW != "mypassword") { Header("WWW-Authenticate: Basic realm="xxxCOM 客户认证""); Header("HTTP/1.0 401 Unauthorized"); echo "Access Denied!n"; exit; }; if ($activate) { include("connect.inc"); $query1 = "UPDATE auth SET active='yes' where id='$id'"; $result1 = mysql_db_query("admin", $query1); if ($result1) { echo "<font size="+1">n"; echo "$user activatedn"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } else { echo "<font size="+1">n"; echo "Error: Unknown Errorn"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } } if ($deactivate) { include("connect.inc"); $query2 = "UPDATE auth SET active='no' where id='$id'"; $result2 = mysql_db_query("admin", $query2); if ($result2) { echo "<font size="+1">n"; echo "$user deactivatedn"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } else { echo "<font size="+1">n"; echo "Error: Unknown Errorn"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } } if ($delete) { include("connect.inc"); $query3 = "delete from auth where id='$id'"; $result3 = mysql_db_query("admin", $query3); if ($result3) { echo "<font size="+1">n"; echo "$user 已删除!n"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } else { echo "<font size="+1">n"; echo "Error: Unknown Errorn"; echo " n<a href="$PHP_SELF">返回</a>n"; echo "</font>n"; exit; } } echo "<html>n"; echo "<head>n"; echo "<title>用户管理</title>n"; echo "</head>n"; echo "<body>n"; echo "<form method="post" action="$PHP_SELF">n"; echo "<table border="1">n"; echo "<tr><th><font size="+1">Username</font></th><th><font size="+1">Real Name</font> </th><th><font size="+1">Activated</font></th></tr>n"; include("connect.inc"); $query = "SELECT * FROM auth"; $result = mysql_db_query("admin", $query); if ($result) { while ($r = mysql_fetch_array($result)) { $id = $r["id"]; $username = $r["username"]; $lastname = $r["lastname"]; $firstname = $r["firstname"]; $activated = $r["active"]; if ($activated == "yes") { echo "<tr><td><font size="+1">$username</font></td><td><font size="+1">$lastname, $firstname</font> </td><td><font size="+1">$activated</font></td><td> <a href="$PHP_SELF?deactivate=yes&id=$id&user=$username">Deactivate</a> </td><td><a href="$PHP_SELF?delete=yes&id=$id">Delete</a></td></tr>n"; } elseif ($activated == "no") { echo "<tr><td><font size="+1">$username</font></td><td><font size="+1">$lastname, $firstname </font></td><td><font size="+1">$activated</font></td><td><a href="$PHP_SELF?activate=yes&id=$id">Activate</a> </td><td><a href="$PHP_SELF?delete=yes&id=$id">Delete</a></td></tr>n"; } } } mysql_free_result($result); echo "</table>n"; echo "</body>n"; echo "</html>n"; ?> -- usermanage.php 结束-- |