Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 阻止用户在jsp中注销后返回_Java_Javascript_Jsp - Fatal编程技术网

Java 阻止用户在jsp中注销后返回

Java 阻止用户在jsp中注销后返回,java,javascript,jsp,Java,Javascript,Jsp,可能重复: 我需要通过阻止用户在注销后访问java应用程序(mvc)来保护java应用程序的安全 目标: 1.最终用户在注销后不能使用浏览器后退按钮访问受限页面。 2.最终用户在注销后应无法访问浏览器历史记录中的任何受限URL 在谷歌搜索之后,我明白了禁用浏览器后退按钮不是一个好的做法。那么如何在JSP中实现最好的效果呢 谢谢和问候 Ashish保护资源的一般方法- 将会话属性检查(例如用户对象)放入受限页面 控制器 注销后使会话无效 保护您的资源的一般方法- 将会话属性检查(例如用户对象)放

可能重复:

我需要通过阻止用户在注销后访问java应用程序(mvc)来保护java应用程序的安全

目标:

1.最终用户在注销后不能使用浏览器后退按钮访问受限页面。 2.最终用户在注销后应无法访问浏览器历史记录中的任何受限URL

在谷歌搜索之后,我明白了禁用浏览器后退按钮不是一个好的做法。那么如何在JSP中实现最好的效果呢

谢谢和问候
Ashish

保护资源的一般方法-

  • 将会话属性检查(例如用户对象)放入受限页面 控制器
  • 注销后使会话无效

  • 保护您的资源的一般方法-

  • 将会话属性检查(例如用户对象)放入受限页面 控制器
  • 注销后使会话无效

  • 在每个页面中,您可能都可以清除
    缓存页面

      <%
      response.setHeader("Cache-Control","no-cache");
      response.setHeader("Cache-Control","no-store");
      response.setHeader("Pragma","no-cache");
      response.setDateHeader ("Expires", 0);
    
      if(session.getAttribute("some_token")==null)
          response.sendRedirect("login/login.html");
    
      %> 
    
    
    

    注销
    中,您必须使会话无效,因此当您单击“上一步”时,它将检查
    会话
    中的
    某些令牌
    属性值,如果不在那里,它将重定向到
    登录
    页面。但是请记住,在登录后,您正在会话中设置
    某些\u令牌
    属性。

    在每个页面中,您可能都可以清除
    缓存页面

      <%
      response.setHeader("Cache-Control","no-cache");
      response.setHeader("Cache-Control","no-store");
      response.setHeader("Pragma","no-cache");
      response.setDateHeader ("Expires", 0);
    
      if(session.getAttribute("some_token")==null)
          response.sendRedirect("login/login.html");
    
      %> 
    
    
    

    注销
    中,您必须使会话无效,因此当您单击“上一步”时,它将检查
    会话
    中的
    某些令牌
    属性值,如果不在那里,它将重定向到
    登录
    页面。但是请记住,在登录后,您正在会话中设置一些令牌属性。

    对于每个受限制的JSP/Servlet,您应该检查用户是否已登录。如果用户未登录,请将其重定向到非限制页面。(这不需要任何JavaScript)

    
    
    当用户注销时,您将使会话无效,因此当用户尝试访问受限JSP/Servlet页面时,您的身份验证逻辑将重定向他

    <% session.setAttribute("userId", null); // in your logout.jsp page %>
    

    对于每个受限JSP/Servlet,您应该检查用户是否已登录。如果用户未登录,请将其重定向到非限制页面。(这不需要任何JavaScript)

    
    
    当用户注销时,您将使会话无效,因此当用户尝试访问受限JSP/Servlet页面时,您的身份验证逻辑将重定向他

    <% session.setAttribute("userId", null); // in your logout.jsp page %>
    
    
    
    使用java脚本清除缓存!使用java脚本清除缓存!坏习惯。这还不够干,这是一个坏习惯。这不够干。这不考虑浏览器缓存。这不考虑浏览器缓存。