登录后 PHP 中的安全问题(使用代码点火器)


Security issue in PHP after logging in (using codeigniter)

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

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

我不希望用户在登录后进入登录页面后能够发送回管理系统的主页。我怎样才能做到这一点。

提前致谢,
马克

编辑:
感谢您的所有想法,但对我不起作用。我的意思是,当有人登录时,他会被重定向到系统的主页。然后,他单击浏览器顶部网址栏左侧的"后退"按钮。

首先通过检查会话来检查用户是否已登录。

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

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

if(isset($_SESSION['admin_loggedin'])){
header("location: admin_index.php");
exit();
}

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

您可以通过检查会话或cookie来检查授权,否则...

如果 PHP

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

header("Cache-Control: no-cache, must-revalidate");
if(isset($_SESSION['user']))
{
      //Write your redirect code
}
else
{
      //Redirect to login page
}

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