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 相关文章推荐
我的论坛源代码(三)
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
php自定文件保存session的方法
Dec 10 PHP
php实现微信公众号无限群发
Oct 11 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
分享PHP守护进程类
Dec 30 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
php字符集转换
Jan 23 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
Search Engine Friendly的URL设计
2006/10/09 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
2015/06/01 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
本科毕业生自荐信
2014/05/26 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
大国崛起英国观后感
2015/06/02 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
golang中的并发和并行
2021/05/08 Golang
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python