php实现登录展示页面
以下是一个使用PHP实现登录和展示页面的基本示例,分为登录验证和页面展示两部分:
登录表单(login.php)
<!DOCTYPE html>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h2>登录</h2>
<form method="post" action="auth.php">
用户名: <input type="text" name="username"><br>
密码: <input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
验证逻辑(auth.php)
<?php
session_start();
$valid_username = 'admin'; // 示例用户名
$valid_password = '123456'; // 示例密码
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
if ($username === $valid_username && $password === $valid_password) {
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $username;
header('Location: dashboard.php');
exit;
} else {
echo "用户名或密码错误!<a href='login.php'>返回登录</a>";
}
?>
展示页面(dashboard.php)
<?php
session_start();
if (!isset($_SESSION['logged_in']) || !$_SESSION['logged_in']) {
header('Location: login.php');
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>欢迎页面</title>
</head>
<body>
<h2>欢迎, <?php echo htmlspecialchars($_SESSION['username']); ?>!</h2>
<p>这是您的仪表盘内容...</p>
<a href="logout.php">退出登录</a>
</body>
</html>
退出登录(logout.php)
<?php
session_start();
session_destroy();
header('Location: login.php');
exit;
?>
安全增强建议
密码应使用哈希存储(如password_hash()验证)
// 存储密码时
$hashed_password = password_hash('user_password', PASSWORD_DEFAULT);
// 验证时
if (password_verify($input_password, $hashed_password)) {
// 验证通过
}
添加CSRF防护令牌

// 登录表单中
$_SESSION['token'] = bin2hex(random_bytes(32));
echo '<input type="hidden" name="token" value="'.$_SESSION['token'].'">';
// 验证时
if (!hash_equals($_SESSION['token'], $_POST['token'])) {
die('非法请求');
}
这个实现包含了基础的用户认证流程,实际应用中需要根据具体需求添加数据库连接、输入验证等更多安全措施。






