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

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

时间: 2024-12-04 00:33:14

PHP用户认证及管理完全源码的相关文章

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

-- 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 = 

与派WebMAIL-RTC-MEET-OA-EIP-CMS(邮局-实时通讯-视频会议-办公自动化-信息门户-内容管理)下载源码www.yupai.net

问题描述 与派办公技术支持网技术支持网http://www.yupai.net(WebMAIL-RTC-MEET-OA-EIP邮局-实时通讯-视频会议-办公自动化-信息门户)基于WindowsServer.ActiveDirectory.ExchangeServer.SharepointServer.CommunicationsServer.LiveMeeting技术,致力于办公自动化系统OA.实时通讯RTC.视频会议MEET.工作流WORKFLOW.企业邮局MAIL.企业信息门户EIP.内容管

与派邮局-实时通讯-视频会议-办公自动化-信息门户-内容管理下载源码www.yupai.net

问题描述 与派办公技术支持网技术支持网http://www.yupai.net(WebMAIL-RTC-MEET-OA-EIP邮局-实时通讯-视频会议-办公自动化-信息门户)基于WindowsServer.ActiveDirectory.ExchangeServer.SharepointServer.CommunicationsServer.LiveMeeting技术,致力于办公自动化系统OA.实时通讯RTC.视频会议MEET.工作流WORKFLOW.企业邮局MAIL.企业信息门户EIP.内容管

求救!求救!!求一个C#网吧管理软件源码!!【急!万分感谢!】

问题描述 小弟急需一个C#网吧管理软件的源码!能实现服务机能远程操控多个客户机!能上下机,能锁定计算机就行!有类似这样功能软甲源码的大侠们,请指点小弟一下!不胜感激!!邮箱xuchuan5633025@163.comqq315004636谢谢谢谢啦!!!清分以报!!!! 解决方案 解决方案二:您还是花钱请人做一个吧解决方案三:同意一楼解决方案四:这个....估计就是有人有也不太可能给你....还是自己花钱找人做或者去源码网上找吧,也许能找到类似的

【原创】Windows下使用 Eclipse 管理 RabbitMQ 源码之问题解决

      使用 Eclipse + Erlide 来管理 Erlang 代码是一种常见方式.本文简要说明下,本人在 Windows 下管理 RabbitMQ 代码时遇到的小问题.       首先,搭建好 Eclipse + Erlide 的环境,方法略:然后,将下载好的 RabbitMQ 源码放置在指定的目录中,比如 D:\ErlangCode\rabbitmq-server-3.0.0 ,目录中的内容如下图所示:       照道理讲,一般源码包中的 README 和 INSTALL 会说

Linux操作系统内存管理的源码实现

最近一段时间在阅读Linux的源代码,想把看到的东西写出来,觉得内存这一部分最简单,就先写了出 来.请指正! 内存最低4K的地址是一张页目录(page_dir),页目录共1024项,每项4字节.目录项的结构如下: ____________________________________ |32-12位为页框地址 | |U|R|p| | | |S|W| | |_________________|______ |_|_ |_| 随后的16K,用来做了4张页表,页表项结构和页目录项结构一样.页表的每一

ASP.NET实现用户在线检测的类源码

asp.net|在线|在线检测 //online.cs(用户在线检测)/*程序实现思路: 该用户有以下几个属性:name:用户名sessionID:用户ID,通过它唯一表示一个用户iswhere :附加信息,用户当前所在位置lasttime:用户登陆时间curtime:本次刷新时间 在客户端,使用一个IFRAME,装载一个刷新页面,每隔XX秒更新一下他的名字对应的curtime,就表示他仍然在 在服务器端,建立一个守护线程,每隔固定时间就运行一遍,然后判断当前所有用户列表中的时间间隔是否超出了规

【spring源码学习】spring的事务管理的源码解析

[一]spring事务管理(1)spring的事务管理,是基于aop动态代理实现的.对目标对象生成代理对象,加入事务管理的核心拦截器==>org.springframework.transaction.interceptor.TransactionInterceptor.===>spring事务管理的核心拦截器===>需要配置的数据项:事务管理机制配置属性的查找类transactionAttributeSource,事务管理的核心处理器PlatformTransactionManager

吉特仓库管理系统-- 后台管理开源啦,源码大放送

  吉特仓储管理系统已经开发好些年了,已经不记得有多少个版本的迭代, 就针对前端UI以及项目结构等重大修改也经历了好几次.吉特仓储管理系统这个名称其实也就今年才开始使用,在此之前都已客户公司命名,基本也是针对客户定制服务. 说到底对这个项目还是有感情的,因为这个项目和很多客户建立了关系,也认识了好多朋友,一起经历了很多曾经认为一辈子也不可能经历的事情,当然因为这个项目也给我个人带来了丰厚(相对个人来说)的金钱回报,最近想了想准备开源仓储系统后台管理的源码,供有需要的朋友和同学共同学习探讨.