注销后如何防止php返回页面? [关闭]
Posted
技术标签:
【中文标题】注销后如何防止php返回页面? [关闭]【英文标题】:How to prevent php going back page after log out? [closed] 【发布时间】:2015-02-10 08:20:03 【问题描述】:我已为 3 级用户保护页面。级别 1--> 管理员 = datapegawai.php 级别 2--> 所有者
3级-->员工。当我退出后返回时,这个页面(datapegawai.php)总是返回。<?php
session_start();
unset($_SESSION['user']);
session_destroy();echo"<meta http-equiv='refresh'content='0; url=login.php'>";?>
http://pastebin.com/AvF0PmCk
【问题讨论】:
为什么不使用header("Location: login.php");
?它更快更简单。
我试过了,还是不行。请查看pastebin.com/AvF0PmCk
【参考方案1】:
@Ayuktia:你正在破坏会话。所以当你按下回。浏览器显示缓存页面。做以下事情。
1) 登录后的页面,检查会话是否存在。如果不重定向到登录页面。
2) 使用标头告诉浏览器不要缓存需要身份验证的页面。
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
3) 使用标头永久重定向。
header("Location: login.php",TRUE,302);
die();
【讨论】:
我应该把它放在哪里? 它应该在页面顶部。在将任何内容输出到浏览器之前,应小心放置标题。否则它不会工作 它不起作用.. :'( 您是否正在检查页面上需要身份验证的会话?此外,您应该告诉浏览器不要缓存这些需要登录的页面。因此,将第 1 点和第 2 点放在需要登录的页面上。创建一个logout.php。单击注销时,重定向到 logout.php。将代码放在第三点。所以从 logout.php 你将把用户重定向到登录页面 顺便问一下 /foo.php 是什么?【参考方案2】:不要使用echo"<meta
....
改为使用
header("Location:MynewURL");
(也关闭后?>添加很多
<!-- dummy -->
因为 IE 不能很好地识别小于一些 kb 的标题标签
【讨论】:
你添加了很多假人吗?显示什么错误? 不,我没有。我应该把虚拟页面放在哪里? 在 datapegawai.php 中关闭最后一个?> 解析错误:语法错误,第 9 行 C:\Users\Samsung_B9L\Documents\Xampp\htdocs\pegawai\datapegawai.php 中出现意外的 ' 抱歉之后,而不是之前以上是关于注销后如何防止php返回页面? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
通过在 L5 中点击浏览器上的后退按钮来防止注销后再次登录?