欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP实现用户认证及管理完全源码

程序员文章站 2023-08-17 11:10:34
-- begin auth.inc --  
-- 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 "<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 结束--