在TOMCAT下怎么设置 才可以实现防盗链接 ???

解决方案 »

  1.   

    根据
    HttpServletRequest.getHeader("Referer")
      

  2.   

    拦截器判断,大致也就是判断session了
      

  3.   

    不需要做任何设置
    只需要设置当前用户的session值
    为什么用session可以做到?
    1,每个用户登录时session都不一样,而且每次同一个用户登录session相同,
       这样的话你copy一个url是不可能通过验证的(session是32位的guid几乎不可重复)
    2,在网站的每个页面都获取当前用户url传过来的session,如果是copy以前用过的url
       那就会出现:服务器当前此用户的session与以前的session不同,只要你每个页面都
       做一个方法进行验证当前用户传过来的url里的session与服务当前session是否一样就行了。
    你可以看看 163.com他的地址里是有session值的。
    用session可以解决防实现防盗链接。
      

  4.   

    笔误:每个用户登录时session都不一样,而且每次同一个用户登录session相同,
    应为:每个用户登录时session都不一样,而且每次同一个用户登录session都不相同,
      

  5.   

    关于session的原理,你可以自己试
    session在服务的格式如下:
    当前IE的guid,Session号,用户变量名,用户变量值。这个是简单的格式,实际上用户变量名定义更复杂。不过由上述格式应当可以知道:
    任何一个用户都可以用session来表示,并且每不相干,就算同一台电脑上,也可以有不
    同用户登录,操作互不相混。
    关于 IE的guid,不同服务实现有所不同:.net里重开IE,每次的IE的guid都不一样。
      

  6.   

    如果对方直接输入
    http;//www.xxx.com/aaa.jpg怎么添加session?????????
      

  7.   

    拦截器拦截请求
    判断当前session是否存在(或是否正常权限用户)
    如果正常,打开
    否则,强制转到一个页面(比如登陆页面)
      

  8.   

    session是在用户 正常 登陆的时候创建的
    里面保存用户的信息,如果用作权限检验,一般是独一无二的如userid