我们做的项目用的框架是 spring2.5+hibernate3.0
spring 是基于注解的现在要判断是否盗链public class SessionInterceptor extends HandlerInterceptorAdapter {       Employee emp = request.getSession().getAttribute("emp");
      
       //判断是否盗链
       if(null == emp){
          response.sendRedirect("login.ftl");
          return true;
       }else{
         return true;
       }
}
可以判断是否盗链,但是如果我是第一次登录的话,emp也是空的
这时,我该怎么判断是否是第一次登录呢? 

解决方案 »

  1.   

    用Filter过滤器吧
    用户登录之后设置一个session
    然后在Filter的方法里判断session是否存在
      

  2.   


    第一次登录时,页面的URL应该是固定的。
    可以检查并对比。
      

  3.   

      感觉还是用Filter过滤器,登录时一般登录成功都会把用户存到session中,可以判断session是否存在及是否与这次登录用户是同一个用户验证!!!
      

  4.   

    一般都是session保存用户信息的  session不存在或者失效 就是盗链 必须重新登录!
      

  5.   


    // ignoreRegex可以作为param从config文件中获取
    String ignoreRegex =  "login.do";
    String requestURI = request.getRequestURI();
    if (requestURI.match(ingoreRegex )) {
        return true;
    }// .......
      

  6.   

    使用http refer来判断,该属性保存了用户是从哪里来的,直接输入连接的时候为空,从某个地址链接过来的,就是那个页面的地址,判断一下就可以了