问题:
目前我们在完成功能开发时,会将项目相关的页面资源及静态资源直接声明
在web目录下,或者web目录下的子文件夹中。而web目录及其声明的子
目录中的资源,在浏览器中是可以直接被访问到的。也就是说,只要我们知道
某个资源的URL地址,在浏览器中是可以直接发起请求访问该资源的,极不安全。
实现方案:
在我们的web项目中造一间密室,将重要的资源放到密室中。而密室是对外不开 放的,也就说密室中的资源必须通过tomcat服务器的内部转发才能进行访问。就 算浏览器听说项目有这样密室,并且密室中也有浏览器想要的资源,浏览器发起的 请求地址是正确的,但是我们可以在服务器端死不承认,我们没有这个资源,在后 台给浏览器响应404.如果是我们觉得靠谱的请求,我们就在服务器端请求转发资 源给浏览器使用。
项目密室:
其实我们的web项目在创建的时候就自动的在web目录下创建了密室,就是
WEB-INF文件夹。也就是说WEB-INF文件夹下的资源浏览器是无法直接访问
的,必须通过内部请求转发才能访问。