【发布时间】:2015-07-07 07:30:20
【问题描述】:
我看到了以下问题并尝试调整部分答案,但没有成功:'如何在用户按下注销并销毁会话后禁用后退浏览器按钮?'
我知道这个话题已经被讨论过很多,人们讨厌禁用后退按钮这句话。但是,如果我有一个包含重要信息的数据库,一旦该人注销,我如何防止某人点击后退按钮并返回上一页。
如果看过一个答案,下面可以回答的问题是: 我见过的一种故意破坏后退按钮使用的方法是在应用程序和每个表单中的每个 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 中。
当用户注销时,我不希望他们通过按后退按钮再次访问该文件。谢谢
【问题讨论】:
-
禁用后退按钮不能,也不应该实现
-
而不是 session_destroy,使用 unset($_SESSION["value1");未设置($_SESSION["value2"]);抄送
-
为什么禁用后退按钮???只需在注销时销毁会话,甚至用户回来。检查会话并将用户重定向到特定页面
-
@Umair 我可能使用了错误的术语,禁用它的意思是会话被终止并且无法进行任何更改。在 file1.php 中,我尝试添加将重定向用户的代码,如果他们没有登录但似乎没有工作。