以下是一个示例程序授权系统的代码,使用PHP编写,实现了域名授权和后台用户管理功能。请注意,这只是一个示例程序,您需要根据自己的需求进行修改和优化。

  1. 首先,创建一个数据库,用于存储授权信息和用户信息。

  2. 创建一个授权表,包括以下字段:id、domain、expire_date、created_date。

  3. 创建一个用户表,包括以下字段:id、username、password、role。

  4. 创建一个PHP文件,用于处理授权验证和用户认证。

<?php
session_start(); // 开启session

// 数据库连接信息
$host = 'localhost';
$user = 'root';
$password = 'your_password';
$dbname = 'your_database';

// 连接数据库
$conn = mysqli_connect($host, $user, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die('连接失败:' . mysqli_connect_error());
}

// 授权验证函数
function authorize($domain) {
    global $conn;
    $query = "SELECT * FROM authorize WHERE domain='$domain'";
    $result = mysqli_query($conn, $query);
    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        $expire_date = strtotime($row['expire_date']);
        if ($expire_date >= time()) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}

// 用户认证函数
function authenticate($username, $password) {
    global $conn;
    $query = "SELECT * FROM users WHERE username='$username'";
    $result = mysqli_query($conn, $query);
    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        if (password_verify($password, $row['password'])) {
            $_SESSION['username'] = $username;
            $_SESSION['role'] = $row['role'];
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
?>
  1. 创建一个PHP文件,用于处理后台用户管理。
<?php
require_once 'auth.php'; // 引入授权验证和用户认证的PHP文件

// 检查用户是否登录
if (!isset($_SESSION['username'])) {
    header('Location: login.php');
    exit();
}

// 检查用户是否有管理员权限
if ($_SESSION['role'] != 'admin') {
    header('Location: index.php');
    exit();
}

// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 添加用户
    if (isset($_POST['add_user'])) {
        $username = $_POST['username'];
        $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
        $role = $_POST['role'];
        $query = "INSERT INTO users (username, password, role) VALUES ('$username', '$password', '$role')";
        mysqli_query($conn, $query);
    }
    // 删除用户
    if (isset($_POST['delete_user'])) {
        $id = $_POST['id'];
        $query = "DELETE FROM users WHERE id=$id";
        mysqli_query($conn, $query);
    }
}

// 查询用户列表
$query = "SELECT * FROM users";
$result = mysqli_query($conn, $query);
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>后台用户管理</title>
</head>
<body>
    <h1>后台用户管理</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>用户名</th>
            <th>角色</th>
            <th>操作</th>
        </tr>
        <?php foreach ($users as $user) : ?>
        <tr>
            <td><?php echo $user['id']; ?></td>
            <td><?php echo $user['username']; ?></td>
            <td><?php echo $user['role']; ?></td>
            <td>
                <form method="post">
                    <input type="hidden" name="id" value="<?php echo $user['id']; ?>">
                    <button type="submit" name="delete_user">删除</button>
                </form>
            </td>
        </tr>
        <?php endforeach; ?>
    </table>
    <h2>添加用户</h2>
    <form method="post">
        <label>用户名:</label><input type="text" name="username"><br>
        <label>密码:</label><input type="password" name="password"><br>
        <label>角色:</label>
        <select name="role">
            <option value="user">普通用户</option>
            <option value="admin">管理员</option>
        </select><br>
        <button type="submit" name="add_user">添加</button>
    </form>
    <a href="index.php">返回首页</a>
</body>
</html>
  1. 创建一个PHP文件,用于处理登录和注销功能。
<?php
require_once 'auth.php'; // 引入授权验证和用户认证的PHP文件

// 处理登录
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $password = $_POST['password'];
    if (authenticate($username, $password)) {
        header('Location: index.php');
        exit();
    } else {
        $error = '用户名或密码错误';
    }
}

// 处理注销
if (isset($_GET['logout'])) {
    session_destroy();
    header('Location: login.php');
    exit();
}
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
    <h1>登录</h1>
    <?php if (isset($error)) : ?>
    <p><?php echo $error; ?></p>
    <?php endif; ?>
    <form method="post">
        <label>用户名:</label><input type="text" name="username"><br>
        <label>密码:</label><input type="password" name="password"><br>
        <button type="submit">登录</button>
    </form>
    <a href="index.php">返回首页</a>
</body>
</html>
  1. 创建一个PHP文件,用于处理授权验证和显示授权信息。
<?php
require_once 'auth.php'; // 引入授权验证和用户认证的PHP文件

$domain = $_SERVER['HTTP_HOST']; // 获取当前域名

// 检查授权
if (!authorize($domain)) {
    header('Location: unauthorized.php');
    exit();
}

// 查询授权信息
$query = "SELECT * FROM authorize WHERE domain='$domain'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>授权信息</title>
</head>
<body>
    <h1>授权信息</h1>
    <p>域名:<?php echo $row['domain']; ?></p>
    <p>有效期:<?php echo $row['expire_date']; ?></p>
    <a href="index.php">返回首页</a>
</body>
</html>
  1. 创建一个PHP文件,用于显示未授权的信息。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>未授权</title>
</head>
<body>
    <h1>未授权</h1>
    <p>您的域名未被授权访问该页面。</p>
    <a href="index.php">返回首页</a>
</body>
</html>
  1. 创建一个PHP文件,用于显示首页和菜单。
<?php
require_once 'auth.php'; // 引入授权验证和用户认证的PHP文件
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>首页</h1>
    <?php if (isset($_SESSION['username'])) : ?>
    <p>欢迎您,<?php echo $_SESSION['username']; ?>!</p>
    <ul>
        <?php if ($_SESSION['role'] == 'admin') : ?>
        <li><a href="admin.php">后台用户管理</a></li>
        <?php endif; ?>
        <li><a href="authorize.php">授权信息</a></li>
        <li><a href="login.php?logout">注销</a></li>
    </ul>
    <?php else : ?>
    <p>请先<a href="login.php">登录</a>。</p>
    <?php endif; ?>
</body>
</html>

现在,您可以根据自己的需求进行修改和优化,以创建一个完整的程序授权系统

用php写一个程序授权系统要求实现域名授权带后台功能用户管理

原文地址: http://www.cveoy.top/t/topic/fEd5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录