用户认证及管理(完全版)

    技术2022-05-11  125

    用户认证及管理(完全版)            用户认证及管理(完全版)作者:MAX 来源:奥索网-- 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 结束--


    最新回复(0)