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

-- 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 结束--