PHP - 创建注销链接

时间:2012-01-21 06:22:04

标签: php javascript html logout

注销链接的最佳方式是什么?我想销毁我的所有会话并重定向回登录页面,但我不确定最好的方法。现在我有链接导致admin / logout.php,但我觉得向用户显示我的文件夹结构会是一件坏事。这是我的代码,非常直接:

session_start();
    session_destroy();
        echo "<script type=\"text/javascript\">window.location.href='../login.php';</script>";

那么最好在javascript或ajax中做点什么吗?

2 个答案:

答案 0 :(得分:3)

如果您担心公开目录结构,请不要使用目录。只需让您的所有网页都检查logout查询参数:

<?php
if (isset($_GET['logout'])) {
   session_start();
   session_destroy();
   header("Location: login.php");
   exit();
}

通过这种方式,您可以从任何页面注销,您的'admin'文件夹永远不会被暴露,并且执行header()重定向意味着用户无法中断您可以使用的任何其他重定向方法(元标记, javascript等...)。用户可以在页面上看到任何内容,因为您没有输出任何内容。

答案 1 :(得分:0)

logout.php:

<?php
session_start();
session_destroy();
?>
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=login.php">
</head>
</html>

这需要是一个单独的.php页面。只是链接到它,他们不会看到这个,而是他们将看到index.php的内容,但没有存储会话数据:))

这可能是解决此问题的最佳和最简单的方法。所有这些都是简单的PHP,带有HTML重定向。