如何使用 php 注销后终止会话

2024-04-25

我看到了以下问题并尝试调整部分答案,但没有成功:“用户按注销并销毁会话后如何禁用后退浏览器按钮?”

我知道这个话题已经被广泛讨论,人们讨厌“禁用后退按钮”这句话。但是,如果我有一个包含重要信息的数据库,一旦该人注销,我如何防止某人按下后退按钮并返回到上一页。

如果见过,下面可以回答这个问题的一个答案是:我见过的一种故意破坏后退按钮使用的方法是在应用程序内和每个表单内的每个 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(使用前将#替换为@)

如何使用 php 注销后终止会话 的相关文章

  • 是否有不是完整网站的卡片/目录应用程序?

    我遇到的每个解决方案似乎都是一个完整的商店 有太多的选项和太多的功能 我可以编写自己的购物车来从前端获得我需要的最小功能 我只是想减少编写复杂后端的时间 我真正想要的是提供产品目录 订单管理等后端功能 同时提供流畅一致的 API 来访问完全
  • CSS - a:访问过:悬停?

    如何应用字体color仅指向已经存在的超链接visited并且正在被hover通过鼠标 本质上 我想做的是 a visited hover color red 是的 这是可能的 这是一个例子 a href http www google c
  • CSS:滚动条从窗口下方几个像素开始

    我想修复我的标题 标题始终位于页面顶部 并且我的整个内容 包括页脚在内的所有内容 都可以滚动 标题高度为 60 px 如下所示 将其固定在顶部不是问题 我想解决的问题 仅使用CSS 是让滚动条从距顶部 60 像素以下的位置开始 正如您所看到
  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • 使用 PHP 获取 XML 文件的内容 [重复]

    这个问题在这里已经有答案了 可能的重复 file get contents 与 https https stackoverflow com questions 1975461 file get contents with https 使用
  • MYSQL中如何获取不带小数的列值

    我的 mysql 表中有两列A and B我正在获取这样的记录 select A B from table 但问题是上面的查询提供了类似这样的值 12 00 3 4 78 9 但我想得到这样的结果 12 3 78 我将使用哪个 MySQL
  • .htaccess 只允许访问包含文件

    我的网站上有各种子文件夹 我希望用户无法通过 URL 访问它们 但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作 我尝试使用 htaccess 与
  • WebGL:enablevertexattribarray索引超出范围

    这是我的顶点和片段着色器
  • 如何判断一个app是原生的还是html5的? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道移动应用程序是如何原生或 html5 的 有没有什么软件或者网站可以说明这一点 如何检测应用程序是本机应用程序还是 html5 您可以使用 w
  • MySQL记录保存到数据库的当前时间

    我正在使用 Zend Framework 1 12 和 Mysql 我想在数据库中添加列 该列保存记录插入表中时的当前日期时间 有人知道我如何定义此列吗 此功能必须在 Mysql 站点上运行 而不是在 PHP 站点上运行 您必须将列类型更改
  • Cake PHP 中的自定义分页

    我是 cakePHP 的初学者 我不想在 cakePHP 中创建自定义分页 功能 paginator gt numbers 它显示的页码如下 1 2 3 4 通过查看选项 有一些选项可以更改分隔符 添加样式类 css 等等 我想要的是这样的
  • 使用 PHP simpleXML 查找一个我知道名称但不知道其所在位置的节点

    如果我知道要查找的节点的名称 但我可能不一定知道该节点的路径 我需要在 PHP 中查询 XML 字符串 我想我可以使用 xpath 做到这一点 但我无法弄清楚如何设置相对路径来查看文档中的任何位置 有人可以指出我正确的方向吗 我目前正在尝试
  • 从 Woocommerce 商店页面中的特定自定义元数据中过滤产品

    我需要过滤 WooCommerce 商店页面 并且只想显示需要自定义产品元数据的产品 这是我在archive product php Hook woocommerce before shop loop hooked wc print not
  • 用正则表达式动态替换部分条件块

    有一个字符串 格式为 else if rule somerule1 echo s 1 n name surname else if rule somerule2 echo s 1 n another text here s 只能有数字 n
  • 在 Amazon Dynamo DB 中编写复杂查询(数学表达式)

    我已经从 mysql 切换到 Dynamo DB 在 mysql 中 我使用了一个查询来获取靠近特定纬度和经度的所有用户 查询是 SELECT SQRT POW 69 1 latitude latitude 2 POW 69 1 longi
  • 当我将 HTML 标签设置为 100% 高度时,我的内容消失了

    我有一个垂直布局 我想保持页面居中 一列保持固定在页面上 而另一列应根据内容滚动 并且有一些绝对的装饰性浮动 div 我希望滚动列垂直显示 100 即使内容不需要高度 但我似乎无法让它工作 我已将 html 标签和 body 标签以及所有必
  • 如何在 PHP、HTML 表单和 Javascript 之间传递布尔值

    我有一个 PHP 程序 它使用 HTML 表单并使用 JavaScript 进行验证 HTML 表单中有一个隐藏字段 其中包含一个布尔值 该值由 PHP 设置 由 JavaScript 在提交时进行验证 然后传递到另一个 PHP 页面 当我
  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • PHP file_get_contents 错误 503

    我收到错误 503服务暂时不可用 与我通话 url https www okex com api v1 ticker do symbol ltc btc page json decode file get contents url true
  • 在 JavaScript 中添加事件的最佳方式是什么?

    我发现在 JavaScript 中设置事件有两种主要方法 直接在标签内添加一个事件 如下所示 a href do foo a 通过 JavaScript 设置它们 如下所示 a href do bar a 并在 a 中添加一个事件

随机推荐

  • Java 线程转储:阻塞线程而不“等待锁定...”

    我很难理解从 jstack 获得的 Tomcat 6 java 1 6 0 22 Linux 上运行的 Spring MVC Web 应用程序的线程转储 我看到阻塞线程 导致其他线程等待 本身被阻塞 但是线程转储并没有告诉我原因或它们正在等
  • removeEventListener 的行为

    请检查以下代码 var clickfn function alert clicked document getElementById div1 addEventListener click clickfn true clickfn func
  • Arc4随机模偏置

    根据本文档 https developer apple com library mac documentation darwin reference manpages man3 arc4random 3 html arc4random un
  • ggplot2、geom_bar、闪避、条形顺序

    我想订购道奇酒吧geom bar 你知道如何处理吗 My code ttt lt data frame typ rep c main boks cuk 2 klaster rep c 1 2 3 ile c 5 4 6 1 8 7 ggpl
  • PHP password_hash 检查两个哈希值

    如果我有两个使用创建的密码哈希password hash http www php net manual en function password hash php函数 我如何判断它们是否来自相同的基本密码 我知道它每次都使用不同的盐 我没
  • 如何使用 SDK 3.1 指定用户用于发布的应用程序名称(通过应用程序名称)

    使用新的 Facebook SDK 3 1 和 iOS 6 有 2 种 实际上 3 种 发帖方式 似乎新的趋势是有更多的选择 使其更简单 天哪 这是一个 SLComposeViewController fbPost SLComposeVie
  • C# Windows Phone - xaml ListBox.ItemTemplate 中的对齐方式

    我想做一个简单的列表框 每行应包含 2 个控件 一个左对齐 另一个右对齐 仅此而已 我尝试了多种方法但没有任何效果 我的代码如下
  • 如何用js添加表格?

    我想通过 JavaScript 在我的 html 表格上添加一个表格 我已经尝试过使用appendChild and insertBefore方法 但这些方法都不起作用 这是我的 JavaScript var utilisateur id
  • 二维数组与一维数组

    我已经阅读了这个问题二维数组与一维数组的性能 https stackoverflow com questions 1242705 performance of 2 dimensional array vs 1 dimensional arr
  • 迭代集合元素

    我已经打开了实验性 ECMAscript 6 功能的 Chrome 标志 其中之一是Set 据我了解 详细信息Set得到了规范作者的广泛同意 我创建一个集合a并添加字符串 Hello a Set a add Hello 但我如何迭代的元素a
  • 使用 HTML 页面的 css 格式显示标签导出到 Excel

    我在我的网络应用程序中使用显示标签 我成功地将显示标签显示的数据导出到Excel 问题是我还希望标题和数据行样式以及 css 包含在导出的 Excel 中 例如标题行为粗体 背景为灰色 数据行中的列根据值着色 但这并没有导出到 Excel
  • 我可以重写 C# 中的属性吗?如何?

    我有这个基类 abstract class Base public int x get throw new NotImplementedException 以及以下后代 class Derived Base public int x get
  • BigInteger 使用了多少空间?

    BigInteger 对象通常使用多少字节的内存 BigInteger 内部使用int 来表示您使用的巨大数字 因此它确实取决于您存储在其中的数字的大小 The int 如果当前数量不能动态适应 则会增长 要获取您的字节数BigIntege
  • UITableView 未更新

    我正在使用核心数据模型和 UITableViewController 表视图 我的模型似乎工作得很好 但是当我向模型添加实体时 我的表视图没有更新 我相信我的模型有效的原因是 当我添加一个实体时 在运行时视图中不会显示任何内容 但是如果我剪
  • opencv中如何使用腐蚀和膨胀函数?

    我试图通过侵蚀和膨胀过程消除数字周围的东西 我尝试过 但什么也没发生 我更改这些值只是为了看看是否会改变某些内容 但同样 什么都没有改变 图像继续如上面的链接所示 这个参数怎么样 我阅读了文档但不太明白 正如你所看到的 我在函数中猜测 我究
  • App Indexing Android - “”中的“”不起作用

    我们正在努力解决谷歌的应用程序索引主题 该计划是在网站的 区域中插入一个标签 从 google 获取 如下所示 android app com testApp myCustomScheme car ford 然后用智能手机访问该网站 应用程
  • 如何在 AWS CloudWatch 中解析混合文本和 JSON 日志条目以进行日志指标筛选

    我正在尝试解析文本和 JSON 混合的日志条目 第一行是文本表示 接下来的行是事件的 JSON 负载 可能的示例之一是 2016 07 24T21 08 07 888Z INFO Command completed lessonrecord
  • 谷歌地图定位是如何工作的?

    我的问题是谷歌地图或移动 GPS 如何找到我的当前位置 读完本文后我的高层次理解article http www physics org article questions asp id 55就是 GPS接收器通过这些卫星获取位置坐标 该位
  • 如何将数组(在 VB6 中通过引用)传递给 C\C++ *.dll 子例程?

    我需要将一个空的变体数组传递给一个用 C 编写的 DLL 并且在所有 Windows 版本上都可用 并且 C 代码 我无法控制也无法编辑 将用它的一些返回值填充空的变体数组价值观 基本上 当我尝试这样做时 ByRef 数组在应包含函数 子调
  • 如何使用 php 注销后终止会话

    我看到了以下问题并尝试调整部分答案 但没有成功 用户按注销并销毁会话后如何禁用后退浏览器按钮 我知道这个话题已经被广泛讨论 人们讨厌 禁用后退按钮 这句话 但是 如果我有一个包含重要信息的数据库 一旦该人注销 我如何防止某人按下后退按钮并返