如何防止用户使用浏览器的后退按钮或退格键访问上一个 jsp 页面 [重复]

Posted

技术标签:

【中文标题】如何防止用户使用浏览器的后退按钮或退格键访问上一个 jsp 页面 [重复]【英文标题】:how can i prevent user to access the previous jsp page using browser's back button or backspace [duplicate] 【发布时间】:2011-08-13 23:49:54 【问题描述】:

我正在做一个在线考试项目。 在这种情况下,当显示试卷时,用户可以返回上一页。 如何阻止用户访问上一页。

【问题讨论】:

【参考方案1】:

您无法阻止用户单击浏览器的“后退”按钮。

不过,您可以做的是保持会话中的状态。

示例:

当用户访问问题页面时,所请求问题的数量将与会话中保留的数量进行比较。如果大于或等于,则更新会话中的数字并授予访问权限。如果小于,则拒绝访问,响应是解释原因的页面。

【讨论】:

请您详细说明一下。如何在实际中使用它(代码) @Mohammad Faisal:我无法进一步详细说明,因为我不知道您的 Web 应用程序的上下文。您应该能够很容易地实施我的建议;有很多关于 Servlet 和 JSP 的教程。 我们可以阻止用户使用浏览器的后退按钮。必须有任何脚本来停止使用后退按钮。 @Mohammad Faisal:没有办法强制客户端请求的 URL 的顺序:HTTP 是无状态的、未连接的协议,客户端最终决定他们请求哪个 URL。存在一些 javascript 技巧可以在一定程度上控制“后退”按钮,但它们很烦人并且很容易绕过。【参考方案2】:

如果您在应用程序中手动处理会话,而不是从应用程序中删除所有会话变量,并将以下 java 脚本放在 onload 功能页面中,您在注销后重定向

<html>

<head>
  <script type="text/javascript">
    window.history.forward();

    function noBack() 
      window.history.forward();
    
  </script>
</head>

<body onload="noBack();" onpageshow="if (event.persisted) noBack();">
  <!-- your html/jsp code -->
</body>

</html>

【讨论】:

以上是关于如何防止用户使用浏览器的后退按钮或退格键访问上一个 jsp 页面 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 防止浏览器对退格按钮的默认历史返回操作?

Centos上python解释器按上下键或退格键出现乱码解决和tab补全

在 MVC 4 和浏览器后退按钮的视图中禁用退格

防止退格按钮导航回上一个 XPage

如何防止laravel 5.2中的浏览器后退按钮

如何防止退格键向后导航?