PHP用户认证及管理完全源码
发表于:2007-07-01来源:作者:点击数:
标签:
? 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 = se
<?
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 "A
clearcase/" target="_blank" >ccess 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 "<br>n<a href="$PHP_SELF">返回</a>n";
echo "</font>n";
exit;
} else {
echo "<font size="+1">n";
echo "Error: Unknown Errorn";
echo "<br>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 "<br>n<a href="$PHP_SELF">返回</a>n";
echo "</font>n";
exit;
} else {
echo "<font size="+1">n";
echo "Error: Unknown Errorn";
echo "<br>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 "<br>n<a href="$PHP_SELF">返回</a>n";
echo "</font>n";
exit;
} else {
echo "<font size="+1">n";
echo "Error: Unknown Errorn";
echo "<br>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 结束--
原文转自:http://www.ltesting.net