php如何实现禁止浏览器后退

  • 来源:网络
  • 更新日期:2020-08-28

摘要:php实现禁止浏览器后退的方法:1、混合运用客户端脚本和服务器端脚本;2、在头部加【<meta>】标签,代码为【<META HTTP-EQUIV="expires" CONTENT="0">】。【相关学习推荐:php图文

php实现禁止浏览器后退的方法:1、混合运用客户端脚本和服务器端脚本;2、在头部加【<meta>】标签,代码为【<META HTTP-EQUIV="expires" CONTENT="0">】。

【相关学习推荐:php图文教程】

php实现禁止浏览器后退的方法:

流程

1.php

<?php
header("Cache-control:no-cache,no-store,must-revalidate");
header("Pragma:no-cache");
header("Expires:0");
if($_COOKIE['resetpw_success_v']){
   //echo '密码已更改';exit();
   header("Location: ****");
}
.........
?>

2.php 例:密码修改最后一步修改成功时,如果点击浏览器后退到1.php

<?php
setcookie('resetpw_success_v','true',time()+600);
..........
?>

曾经有许多人问起,“怎样才能‘禁用’浏览器的后退按钮?使后退页面失效”,或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”在找到的许多方案中,其中有一种建议禁止页面缓存。但都说得很片面,只能禁止IE,像Chrome浏览器就无能为力了,下面是一篇比较全面禁用所有浏览器缓存的文章,对提交表单后不让客户返回提交页面,防止重复提交表单,防止用户后退非常有用

由于不存在能够完全禁用后退按钮的方法,所以最好的方案应该是:混合运用客户端脚本和服务器端脚本。

最简单的方法是在头部加<meta>标签

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache,no-store, must-revalidate"> 
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="expires" CONTENT="0">

如果使用上面的方法强制浏览器不再缓存web页面,必须注意以下几点:

只有在使用安全连接时“pragma: no-cache”才防止浏览器缓存页面。

对于不受安全保护的页面,“pragma: no-cache”被视为与“expires: -1”相同,此时浏览器仍旧缓存页面,但把页面标记为立即过期。

在ie 4或5中,cache-control”meta http-equiv标记将被忽略,不起作用。在实际应用中我们可以加上所有这些代码。

然而,由于这种方法不能适用于所有的浏览器,所以是不推荐使用的。但如果是在intranet环境下,管理员可以控制用户使用哪种浏览器,我想还是有人会使用这种方法。

相关学习推荐:php编程(视频)