• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网 <?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 结束--

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网