欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-12 22:52:34
...

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

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

相关学习推荐: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编程(视频)

以上就是php如何实现禁止浏览器后退的详细内容,更多请关注其它相关文章!

相关标签: php 浏览器