注销链接的最佳方式是什么?我想销毁我的所有会话并重定向回登录页面,但我不确定最好的方法。现在我有链接导致admin / logout.php,但我觉得向用户显示我的文件夹结构会是一件坏事。这是我的代码,非常直接:
session_start();
session_destroy();
echo "<script type=\"text/javascript\">window.location.href='../login.php';</script>";
那么最好在javascript或ajax中做点什么吗?
答案 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重定向。