Rumah >php教程 >php手册 >PHP实现用户认证及管理完全源码

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

WBOY
WBOYasal
2016-06-13 12:32:451706semak imbas

-- begin auth.inc --  
$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') {  
?>  

  
404 Not Found  
  

Not Found

  
The requested URL  
 echo $REQUEST_URI; ?>  
was not found on this server.

  
  
exit;  
}  
?>  
-- end auth.inc --  
-- begin connect.inc --  
  
-- 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 --  
  
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 "n";  
echo "$user activatedn";  
echo "
n返回\n";  
echo "
n";  
exit;  
} else {  
echo "n";  
echo "Error: Unknown Errorn";  
echo "
n返回\n";  
echo "
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 "n";  
echo "$user deactivatedn";  
echo "
n返回\n";  
echo "
n";  
exit;  
} else {  
echo "n";  
echo "Error: Unknown Errorn";  
echo "
n返回\n";  
echo "
n";  
exit;  
}  
}  
if ($delete) {  
include("connect.inc");  
$query3 = "delete from auth where id='$id'";  
$result3 = mysql_db_query("admin", $query3);  
if ($result3) {  
echo "n";  
echo "$user 已删除!n";  
echo "
n返回\n";  
echo "
n";  
exit;  
} else {  
echo "n";  
echo "Error: Unknown Errorn";  
echo "
n返回\n";  
echo "
n";  
exit;  
}  
}  
echo "n";  
echo "

n";  
echo "用户管理n";  
echo "n";
echo "n";  
echo "
\n";  
echo "n";  
echo "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 "n";  
} elseif ($activated == "no") {  
echo "n";  
}  
}  
}  
mysql_free_result($result);  
echo "
Username Real Name Activated
$username $lastname, $firstname $activated Deactivate Delete
$username $lastname, $firstname $activated Activate Delete
\n";  
echo "\n";  
echo "\n";  
?>  
-- usermanage.php 结束--
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn