不要用filter
在页面在开始使用
String previousPage=request.getHeader("Referer");
得到上一个访问的页面,如果是本网站内的则可以继续浏览
如果是非本网站地址,则拒绝

解决方案 »

  1.   

    String previousPage=request.getHeader("Referer");这一个我试过了。其实我最主要的目的是我我想做一个音频的网站。
    这些音频文件只能在网页上试听。即使人家知道了实际的下载地址也不给于
    下载。也就是说当人家直接打下载地址时不给于返回结果。
    只能在本站的网页播放器上播放才可以听。我在过滤器使用了request.getHeader("Referer");来判断访问的来源。
    这样可以限制人家直接输入地址访问。可是一但我限制了,在线网页播放器也播放不了文件了。
      

  2.   

    这个一般的解决办法是,你写一个中转的jsp
    这个当然不是视频的地址,然后用户请求播放视频的时候就访问这个页面
    你在这个页面上用Referer过滤一些不希望访问的地址
    合法就里面跳转到直接的视频的地址,然后播放器就会自己启动了
      

  3.   

    这样还是没有达到我想要的那种效果呀!急死人了!首先:我只提供一个首页index.jsp可以给人家输入地址敲回车
    就可以访问。(不然人家访问不到任何资料)第二:在网站上的任何其它页面(除首页)。必须是用户点击已经打开了的
    页面(如:首页)里面的超联接才可以访问。第三:如果用户直接在地址栏输入本站的任何页面(包括所有htm,jsp,mp3),都
    不给于访问。(只能点已经打开页面的超联接才可以)
    注:因为点超联接的话用request.getHeader("Referer")可以拿到来源网页。如果
    直接直接敲地址他的来源为null,所以可以检查出来。我这样设置了filter,在打开播放器文件时,播放器播放的/asdfa/asdfa/3.mp3
    过滤器检查到了这个mp3文件来源是null,给于过滤了不直接访问。所以出错。像楼上 jFresH_MaN(十一月的萧邦-夜曲) ( ) 信誉:367 说的方法;
    我把他换成做为中转用的jsp文件也是一样的结果。
    如果不启用过滤器,那我就没有办法限制到不给用户直接敲打网页地址访问的效果。
    要么就要每个网页都加一个判断的头。这样比较麻烦。有没有一个两全其美的方法呢?
      

  4.   

    如果不启用过滤器,那我就没有办法限制到不给用户直接敲打网页地址访问的效果。
    要么就要每个网页都加一个判断的头。这样比较麻烦。
    -----
    我不觉得有什么麻烦的啊!你只要写一个bean,每一个页面head里面放一下就可以了啊!
    filter的原理是一样的,在接受请求的页面之前他截取请求信息。
    晕。
      

  5.   

    那楼上,像你说的。播放的地址都由一个中转的jsp来做。
    那要是人家知道了文件的源路径!不启用过滤器。
    你如何检查出人家不是直接打入你这个访问地址的呢?中转jsp页面只是根据一定的参数然后转到相应的音频文件去。
    那要是音频文件地址暴露了出来,人家直接输入你这音频文件的地址。
    又要怎么样来限制呢?(不用过滤器做得到吗?)
      

  6.   

    中转jsp页面只是根据一定的参数然后转到相应的音频文件去。
    那要是音频文件地址暴露了出来,人家直接输入你这音频文件的地址。
    又要怎么样来限制呢?
    ----
    当然可以不暴露实际地址的呀!晕。
      

  7.   

    通过页面连接传入多媒体ID,在后台去查ID对应的url地址,把mediaPly 控件放在网页中来控制播放,这样就解决问题了 !
      

  8.   

    在播放Jsp的页面里加一个特别的flag,
    在flter里判断request里是否含有这个flag,如果true就可以继续访问浏览视频,false过滤掉此request
      

  9.   

    还是不用filter比较好,
    像 jFresH_MaN(十一月的萧邦-夜曲)  用中转界面
    在你的播放控件里将源地址设为"middle.jsp"
    在middle.jsp里判断referer,成功的话redirect到媒体文件url
    通常就可以防止下载
      

  10.   

    brill1984(brill1984) ( ) 信誉:100 还是不用filter比较好,
    像 jFresH_MaN(十一月的萧邦-夜曲)  用中转界面
    在你的播放控件里将源地址设为"middle.jsp"
    在middle.jsp里判断referer,成功的话redirect到媒体文件url
    通常就可以防止下载---------------------------------------------------------
    那假如我的音乐地址别人已经知道了源地址了呢??