我看到了以下问题并尝试调整部分答案,但没有成功:“用户按注销并销毁会话后如何禁用后退浏览器按钮?”
我知道这个话题已经被广泛讨论,人们讨厌“禁用后退按钮”这句话。但是,如果我有一个包含重要信息的数据库,一旦该人注销,我如何防止某人按下后退按钮并返回到上一页。
如果见过,下面可以回答这个问题的一个答案是:我见过的一种故意破坏后退按钮使用的方法是在应用程序内和每个表单内的每个 URL 上传递一个令牌。令牌会在每个页面上重新生成,一旦用户加载新页面,之前页面中的任何令牌都会失效。当用户加载页面时,该页面仅显示是否传递了正确的令牌(已为上一页上的所有链接/表单提供)。任何人都可以提供一些关于如何做到这一点的见解吗?
<?php
session_start();
session_destroy();
$_SESSION = array();
header("location: login.php");
?>
标题应该放在哪里?
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
<?php
session_start(); //starts the session
if($_SESSION['user']){ //checks if user is logged in
}
else{
header("location:login.php"); // redirects if user is not logged in
}
$username = $_SESSION['user']; //assigns user value
$id_exists = false;
?>
我有一个 checklogin.php 来检查输入的用户名和密码以及存储在 MySQL 数据库中的用户名和密码。然后它们被重定向到 file1.php。在此页面上有一个注销按钮。上面的代码存储在logout.php中。
当用户注销时,我不希望他们通过按后退按钮再次访问该文件。谢谢
至于标头,以下是我在搜索后经常使用的网络服务器中的标头:
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Expires: 0
Pragma: no-cache
单击结果页面中的链接后按后退按钮会在 Firefox 中显示错误消息。我看到的唯一显着的区别是Expire: 0
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)