WEB开发网
开发学院WEB开发PHP PHP用户认证及管理完全源码 阅读

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

 2000-12-13 16:30:08 来源:WEB开发网   
核心提示:-- begin auth.inc --<?php$id = "xxxCOM";if(!isset($PHP_AUTH_USER)) {Header("WWW-Authenticate: Basic realm="$id"");Header("
-- 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 结束-- 

Tags:PHP 用户 认证

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接