PHP实现用户认证及管理完全源码
发布时间:2023-11-19 20:26:19
-- 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 结束--
猜你喜欢
- 开发背景是这样的:整个项目中使用很多台摩托罗拉的RFID读卡器,我要为这些读卡器写一个管理程序,判断是否有RFID标签进入或离开某个区域。用
- 1. python中创建新的csv文件(1). 使用csv.writer()创建:代码如下:import csvheaders = [
- 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的
- 1、基本用法# coding:utf-8import tkinter as tk# 创建窗口对象window = tk.Tk()# 设置串口
- 本文主要介绍了pandas针对excel处理的实现,分享给大家,具体如下:读取文件import padasdf = pd.read_csv(
- 设置部分:首先网页登录QQ邮箱设置一些待会儿会用到的参数:首先开启POP3/SMTP和IMAP/SMTP服务,然后生成授权码,然后复制到代码
- 本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家本来用按键精灵是可以实现我的需求,而且更简单,但既然学py
- 前面的例子中,点击事件都是通过click()方法实现鼠标的点击事件。其实在WebDriver中,提供了许多鼠标操作的方法,这些操作方法都封装
- 说明: a、以下字符中数据库名forum,数据库服务器名WWW-2443D34E558\SQL2005(或者127.0.0.1) b、查看s
- 一段非常简单代码普通调用方式def console1(a, b): print("进入函数")
- 目录:分析和设计组件编码实现和算法用 Ant 构建组件测试 JavaScript 组件话说上期我们讨论了队列管理组件的设计,并且给它取了个响
- 函数的默认参数请勿定义可变类型经常会看到这样一句代码警告:Default argument value is mutable意思是告诉我们函
- Django 教程Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Dja
- 介绍本文主要介绍Python中迭代的基本知识和使用什么是迭代在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历
- 问题场景:vue页面初始化展示请求后台返回的数据失败,没有报错<el-form-item label="有效日期"
- 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且
- Python 风格规范(Google)本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护。如果你关注的是 Google
- <?php $fp = fopen("http://www.***.com/**
- 前言在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Py
- 写在前面的话🪐学了Python一些基础知识之后,相信大家对Python使用方法有了一定的感悟,想要追求深层次的东西还要细细的学、慢慢的学。P