PHP:当按下后退按钮时,需要使我的webapp的会话过期

PHP:当按下后退按钮时,需要使我的webapp的会话过期,php,security,web-applications,Php,Security,Web Applications,我们正在开发一个任务关键型web应用程序,我们希望在用户按下浏览器后退按钮时使应用程序的会话过期 请帮我解决我的问题 提前感谢。我看到的问题是,如果有人使用“后退”按钮纠正错误,他们不会高兴不得不重新登录以重新输入/重新执行他们认为已经完成的操作 如果你对这个巨大的可用性问题、用户界面的不一致性和破坏用户习得的行为没有意见的话 $this_page = $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; $history[] = $th

我们正在开发一个任务关键型web应用程序,我们希望在用户按下浏览器后退按钮时使应用程序的会话过期

请帮我解决我的问题


提前感谢。

我看到的问题是,如果有人使用“后退”按钮纠正错误,他们不会高兴不得不重新登录以重新输入/重新执行他们认为已经完成的操作

如果你对这个巨大的可用性问题、用户界面的不一致性和破坏用户习得的行为没有意见的话

    $this_page = $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'];
    $history[] = $this_page;

/* assuming you're continually passing the $history variable
to subsequent pages via post, get, Ajax... */

    if (in_array($this_page, $history)) {

      // end session

    }

    else {

      // continue/maintain session

    }

如果您需要通过按下特定按钮来结束会话,而不是简单地将当前页面与浏览器历史记录中的页面进行比较,我建议使用JS/jQuery。我相信backspace按钮是键8,但我在JS方面仍然很糟糕,因此我无法提供任何真正的帮助。

真的有必要终止会话吗?人们习惯于使用后退按钮。秋葵+1。如果你的应用程序无法处理后退按钮,说明你做错了。甚至很容易出错,用于切换选项卡和后退/前进的键盘快捷键在某些浏览器上非常相似。是的,当用户按下后退按钮时,我们的应用程序需要终止会话,这是它从客户那里得到的概念。好吧,告诉你的客户后退按钮是用于导航的,不是为了退出应用程序(尽管它看起来很像),谢谢您的即时回复,但是当我们导航“后退”按钮时,他们的会话是否无法过期?任何提示或提示请。