php server实现登录
使用 PHP 内置服务器实现登录功能
PHP 内置服务器可以用于快速开发和测试登录功能,无需配置复杂的 Web 服务器环境。
启动 PHP 内置服务器命令:
php -S localhost:8000
创建登录表单
创建一个简单的 HTML 表单用于用户输入:
<!-- login.html -->
<form action="login.php" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<button type="submit">登录</button>
</form>
处理登录逻辑
创建 PHP 文件处理表单提交:

// login.php
session_start();
$valid_users = [
'admin' => 'password123',
'user1' => 'mypassword'
];
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
if (isset($valid_users[$username]) && $valid_users[$username] === $password) {
$_SESSION['user'] = $username;
header('Location: welcome.php');
exit;
} else {
echo '无效的用户名或密码';
}
实现会话管理
创建欢迎页面验证用户是否已登录:
// welcome.php
session_start();
if (!isset($_SESSION['user'])) {
header('Location: login.html');
exit;
}
echo '欢迎, ' . htmlspecialchars($_SESSION['user']);
echo '<a href="logout.php">退出</a>';
实现退出功能
创建退出处理脚本:

// logout.php
session_start();
session_destroy();
header('Location: login.html');
exit;
密码安全增强
使用 password_hash() 和 password_verify() 函数增强安全性:
// 注册时哈希密码
$hashed_password = password_hash('user_password', PASSWORD_DEFAULT);
// 验证时
if (password_verify($input_password, $hashed_password)) {
// 登录成功
}
数据库集成示例
使用 PDO 连接 MySQL 数据库验证用户:
// db_login.php
try {
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$stmt = $pdo->prepare('SELECT password FROM users WHERE username = ?');
$stmt->execute([$_POST['username']]);
$user = $stmt->fetch();
if ($user && password_verify($_POST['password'], $user['password'])) {
// 登录成功
}
} catch (PDOException $e) {
die("数据库连接失败: " . $e->getMessage());
}
安全注意事项
确保表单使用 HTTPS 协议传输数据 对用户输入进行验证和过滤 设置会话安全参数:
ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1);
session_regenerate_id(true);
完整项目结构示例
project/
├── login.html
├── login.php
├── welcome.php
├── logout.php
├── db_login.php
└── assets/
└── style.css






