0

我正在使用 CodeIgniter 构建管理系统。但是我在安全方面遇到了问题。

让我举个例子:一个用户成功登录并被重定向到管理系统的主页。现在用户在他的浏览器中按下“返回”按钮。他现在被发送回登录页面。他现在按下“NEXT”按钮并返回到管理系统的主页。

我不希望用户在登录后进入登录页面后能够返回到管理系统的主页。我该如何实现这一点。

提前致谢,
马克

编辑:
感谢所有的想法,但对我没有用。我的意思是,当有人登录时,他会被重定向到系统的主页。然后他点击浏览器顶部网址栏左侧的“返回”按钮。

4

4 回答 4

0

如果缓存存在,PHP 会返回到登录页面,实际上不会从服务器重新加载,所以我们需要在登录页面检查时强制 PHP 从服务器加载它。所以你可以使用,

header("Cache-Control: no-cache, must-revalidate");

if(isset($_SESSION['user']))
{
      //Write your redirect code
}
else
{
      //Redirect to login page
}

在您所在的页面中检查登录是否存在。这样 PHP 将每次从服务器重新加载而不从缓存加载。如果会话存在,您将被重定向到相应的页面

于 2012-08-14T11:24:19.077 回答
0

首先让您的登录页面通过检查会话来检查用户是否已经登录。

如果用户已登录,请使用 php 重定向,例如header (“Location: $URL”);$URL 是您的主页。

于 2012-08-14T11:04:48.413 回答
0

只需在登录页面上使用会话:

if(isset($_SESSION['admin_loggedin'])){
header("location: admin_index.php");
exit();
}
于 2012-08-14T11:06:39.597 回答
0

尝试清除登录页面上的缓存如何使用 php 清除浏览器缓存?,检查用户是否被授权,如果 $authorized==true 则重定向他。

您可以通过检查 SESSION 或 cookie 来检查授权,或者...

于 2012-08-14T11:06:53.083 回答