gpt4 book ai didi

php - 注销后用户仍然可以访问 protected 页面

转载 作者:可可西里 更新时间:2023-11-01 07:20:32 25 4
gpt4 key购买 nike

我添加了一个 session 并使用此代码来防止用户在注销后访问页面,但我不能这样做。用户仍然可以访问上一页。这是代码

登录密码是

<form id="form1" name="form1" method="post" action="alogin.php" onsubmit="return(validate());">
<p align="center"><font style="Arial" size="+1" color="#000000">Username :
<label for="name"></label>
<input type="text" name="name" id="name" />
</p>
<br />
<br />
<p align="center">Password :
<label for="pass"></label>
<input type="password" name="pass" id="pass" /></font>
</p>
<p align="center">
<br />
<br />
<input type="submit" name="submit" id="submit" value="Login" />
</p>
</form>

在每个 protected 页面中我都使用了这个

<?php
session_start();
if (!isset($_SESSION['name'])) {
header("location:login.html");
} else {
}
?>

而 logout.php 包含

 <?php
session_start();
$_SESSION=array();
setcookie(session_name(),"",time()-3600);
session_destroy();
header("Location: login.html?id=You are successfully logged out");
?>

最佳答案

当用户向其浏览器发出“返回”命令时,浏览器可以决定从其缓存中加载页面。用户将无法执行登录用户可以执行的操作,因为 session 已被破坏且无效。

一个可能的解决方法是在这些敏感页面上包含一个 AJAX 请求,以检查用户是否仍处于登录状态。如果是,则显示敏感元素(或通过 ajax 获取它们),如果不是(用户已登录) out) 显示警告或将他转发到登录页面(通过 js)。

关于php - 注销后用户仍然可以访问 protected 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com