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 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP 变量类型的强制转换
Oct 23 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
PHP循环结构实例讲解
Feb 10 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 PHP
PHP7内核之Reference详解
Mar 14 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 采集程序 常用函数
2008/12/18 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
javascript prototype 原型链
2009/03/12 Javascript
google地图的路线实现代码
2009/08/20 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
从0开始学Vue
2016/10/27 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
深入理解Python中变量赋值的问题
2017/01/12 Python
Python清空文件并替换内容的实例
2018/10/22 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
python如何删除文件、目录
2020/06/23 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
应届毕业生的个人自我鉴定
2013/10/24 职场文书
护士实习鉴定范文
2013/12/22 职场文书
《路旁的橡树》教学反思
2014/04/07 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python