一.想请教一下大家,怎样防止用户在URL输入图片,CSS,JS等资源文件路径,访问该资源文件.
本来想通过一个servlet过滤器实现,但发现过滤了图片路径后,如果一个JSP页面用<IMG>引用了这个图片,也无法访问.用tomcat自带安全机制访问也不能达到效果.难道必须要把资源文件都放到WEB-INF里吗?
二.工程下的文件一般怎样组织,是按文件类型划分吗?比如
WebModule
---Css
---Img
---Js
---..
还是按功能划分,比如
WebModule
---Brrow
---Lend
---..
或者是混合使用?

解决方案 »

  1.   

    据说可以放到web-inf下面,容器默认行为是不允许访问这个目录滴,然后你在写一个前端控制器转发。j2ee核心模式里面有
      

  2.   

    大家可能都是从察看他人优秀的页面源码,
    继而模仿,继而创新,
    开始自己的css、js等客户端语言的提高历程的。有什么必要,非要隐藏自己的这些东西呢?
    如果是业务的东西,说明你的代码还可以再抽取;
    如果是因为有你的劳动在里面,你觉得委屈,
    那么
    最因该委屈的是microsoft和google~大家一起学习
    一起提高~
      

  3.   

    TO:emin_lee(),我单纯从技术角度问的,再说这个也不是没有现实意义.
      

  4.   

    不好意思:P
    ------------------------------------------------------
    个人意见:原理上,凡是能够到达客户端的信息,都会保存在客户端,
    即便不通过url访问,客户也可以在自己的internet临时文件夹下找到页面上的相应信息,
    保密的可能性很小!对于有些网站,他们是通过加密css和js文件来达到保密目的的,
    对于图片,也有人讨论过下载时做替换的方法,
    但都不是很好~我们一个客户曾经也提过对网上图片保护的问题,
    想法是做水印,但是技术上不过关而作罢~
      

  5.   

    网站架构:
    1、按功能划分目录
    2、每个目录下建images文件夹,存放该功能下页面所用图片;
    3、将公用文件统一建目录,分类存放工程
    --[home]
      |--index.jsp
      |--[images](图片目录)
    ......
    --[contact]
      |--index.jsp
      |--[images](图片目录)
    ......
    --[common](公用信息目录)
      |--[images](图片目录)
      |--[css](样式表)
      |--[js](通用js)
      |--[pages](公用页面)index.jsp
      

  6.   

    我也知道能在IE临时文件夹里看到,我的意思是客户输入资源文件的URL时,能提供一个访问出错的提示,这样更好些.呵呵也许我的想法不够成熟吧,谢谢你们的回答.
      

  7.   

    麻烦楼上各位兄弟,关注一下我今天发的另一个帖子:tomcat安全域JDBC域配置出错:)
      

  8.   

    那些只能针对JSP这些页面文件,针对资源文件好象不行,呵呵因为一个JSP页面如果用到这些文件,就要引发一次响应.
      

  9.   

    麻烦关注此帖的各位兄弟,关注一下我今天发的另一个帖子:tomcat安全域JDBC域配置出错 : ),明天结帖
      

  10.   

    呵呵这个问题基本解决了,实在要保护可以放在WEB-INF里.请楼上这位猩猩关注下我的另一个帖子.tomcat安全域JDBC域配置出错 : ),明天结帖
      

  11.   

    只防止用 URL 下载的话
    apache 中有
    <location /home/js>
      Deny from all
    </location>
      

  12.   

    哦,请问一下怎么配<location>呢?是在web.xml中加吗