当前位置:首页 > 开发 > Web前端 > 前端 > 正文

退出系统后如何防止点击ie后退按钮返回系统

发表于: 2014-10-23   作者:120153216   来源:转载   浏览:
IE
摘要: 方法如下:   一、   1.当你点击退出系统是,不直接返回登录界面,而是通过window.location.href返回登录界面。  2..或者在每张页面都有session判断,如果session为空则返回登录界面   二、   1.浏览器缓存     我们有时候会发现是退出系统了可是通过历史记录

方法如下:

 

一、

 

1.当你点击退出系统是,不直接返回登录界面,而是通过window.location.href返回登录界面。 

2..或者在每张页面都有session判断,如果session为空则返回登录界面

 

二、

 

1.浏览器缓存 

   我们有时候会发现是退出系统了可是通过历史记录或者直接访问地址,最后一次操作的数据或显示的列表还在那里,一堆人在冒汗,说你系统不安全! 

   其实这时候并没有访问到系统,是本地的浏览器缓存在做怪。 

2.没有做权限拦截 

   很多人在做程序的时候可能会忘记去注意权限分配了,有些功能是要求用户在登录状态下使用的,甚至是某个角色的用户才可以操作的。如果没有做这些限制,很容易被人利用,最简单的就是通过地址直接访问。 

 

这两个方面内容是造成问题出现的绝大部分原因. 

 

解决方案: 

 

1.禁止缓存 

 

如:jsp 

<% 

response.setHeader("Pragma","No-Cache"); 

response.setHeader("Cache-Control","No-Cache"); 

response.setDateHeader("Expires", 0); 

%> 

 

2.利用session在页面进行拦截 

 

如:jsp原码 

 

String userid= (String)session.getValue("userid"); 

if(userid==""||userid==null)//判断指定session值的存在与否,来检查是否已经登录 

  跳转到提示页面 

else 

  其他主体程序代码 

 

利用以上两个方法同时使用,能够解决大部分问题,包括浏览器返回的问题。 

 

3.利用struts配置拦截器 

4.涉及权限的就不能简判断有没有登录了,应该取出用户的权限值(一般也建议放入session,避免频繁访问数据库)来判断是否可以执行,处理思路也和判断有无登录相同 

如:jsp 

String level= (String)session.getValue("level"); 

if(level==""||level==null||!level.equals("1"))//判断指定session值的存在与否并检查权限值 

  跳转到提示页面 

else 

  其他主体程序代码 

 

三、

这里的方法是千姿百态,有的是更改浏览器的历史纪录的,比如使用window.history.forward()方法;有的是“用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后退按钮永远不会变为可用。”比如使用javascript:location.replace(this.href); event.returnValue=false;

退出系统后如何防止点击ie后退按钮返回系统

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号