php实现登出
PHP 实现用户登出功能
登出功能主要通过销毁会话(session)来实现,确保用户无法继续访问需要授权的页面。
销毁会话数据
使用 session_start() 开启会话后,调用 session_unset() 清除所有会话变量,再使用 session_destroy() 销毁会话:
<?php
session_start();
session_unset();
session_destroy();
?>
重定向到登录页面
登出后通常需要将用户重定向到登录页面或其他公共页面:
header("Location: login.php");
exit();
清除浏览器中的会话 Cookie
为确保彻底登出,可以手动清除会话 Cookie:
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
完整登出代码示例
<?php
session_start();
// 清除所有会话变量
$_SESSION = array();
// 清除会话 Cookie
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// 销毁会话
session_destroy();
// 重定向到登录页面
header("Location: login.php");
exit();
?>
安全注意事项
- 确保在所有需要会话管理的页面顶部调用
session_start() - 登出后不应保留任何敏感会话数据
- 重定向时使用绝对路径更安全
- 考虑使用 HTTPS 保护会话数据







