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

来源:互联网 发布:百度和知乎的区别 编辑:程序博客网 时间:2024/06/04 22:25

退出系统后如何防止点击ie后退按钮返回系统:
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
{
  其他主体程序代码
}

希望对大家有用,有写得不好的,请各位长辈指正。

原创粉丝点击