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


Posted in PHP onMarch 11, 2007

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

PHP 相关文章推荐
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
php读取xml实例代码
Jan 28 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
php生成excel列序号代码实例
Dec 24 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php中的动态调用实例分析
Jan 07 PHP
PHP简单选择排序算法实例
Jan 26 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
随时给自己贴的图片加文字的php代码
Mar 08 #PHP
php网页后退不再出现过期
Mar 08 #PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 #PHP
php下实现农历日历的代码
Mar 07 #PHP
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 #PHP
用PHP 快速生成 Flash 动画的方法
Mar 06 #PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 #PHP
You might like
让PHP支持断点续传的源码
2010/05/16 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
PHP网络操作函数汇总
2015/05/18 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
js闭包的用途详解
2014/11/09 Javascript
学习jQuey中的return false
2015/12/18 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
python web框架 django wsgi原理解析
2019/08/20 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
物理系毕业生自荐信
2013/11/01 职场文书
行政助理的职责
2013/11/14 职场文书
上课说话检讨书大全
2014/01/22 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
简爱电影观后感
2015/06/10 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
Go语言读取txt文档的操作方法
2022/01/22 Golang
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL