考虑到访问安全,我把css/js/html/jsp文件都放到了WEB-INF下,结果导致不能访问静态文件。

问题描述

考虑到访问安全,我把css/js/html/jsp文件都放到了WEB-INF下,结果导致不能访问静态文件。这种问题该如何解决呢?各位是否有比较好的方案,分享一下。

解决方案

首先,css/js/html没有必要放在WEB-INF下。最终这些会被原封不动的展现在客户端,所以访问安全根本就不会成为问题。jsp放在web-inf下,原因主要有两个1. 远古时代的模式会把业务逻辑,数据库连接等敏感信息写在jsp里面,被用户直接访问会有安全问题。 现代模式里这个不再成为问题,不应该成为问题。2. jsp是在服务器端运行的,而且通常都需要其他程序支持——比如后台处理好数据再让jsp渲染等,用户直接访问一则没有意义,二则会抛异常,这些都浪费服务器资源。其次,如果你一定要放在web-inf下。需要弄个servlet来forward,或者读取文件后写在response上。如果是spring,可以参考http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html中的17.15.6 Configuring Serving of Resources
解决方案二:
2楼正解写个SERVLET专门处理这种请求forward之前,在URI前面加上WEB-INF就行了
解决方案三:
WEB-INF下面的文件,直接访问或者redirect是无法直接访问的。一般情况下,css、js等常用静态资源放在webapp下面。如果真的需要对这些静态资源也做安全控制,那么可以通过统一的拦截器拦截静态资源,当有请求过来时,forward至静态源。

时间: 2024-10-27 10:26:25

考虑到访问安全,我把css/js/html/jsp文件都放到了WEB-INF下,结果导致不能访问静态文件。的相关文章

服务器-struts2在web.xml中添加支持后访问所有页面报404错误,什么原因?

问题描述 struts2在web.xml中添加支持后访问所有页面报404错误,什么原因? struts2在web.xml中添加支持后访问所有页面报404错误,本地测试无任何问题,上传服务器就报所有页面404. web.xml struts.xml 运行后 解决方案 上传服务器之后,看看是不是请求IP,或者端口错了 解决方案二: 看看启动服务器报错没.估计你服务器在启动时就报错了 解决方案三: 看看服务器上jsp页面的路径对不对 解决方案四: 这情况一般是 启动服务器 然后就报错了... 找找看

服务器-有个Web应用,有线网能访问,无线不能访

问题描述 有个Web应用,有线网能访问,无线不能访 有个Web应用,有线网能访问,无线不能访问,可在无线下可以访问服务器上的静态文件,这是怎么回事?? 解决方案 看看他们所在的网段是不是一样,两个环境是不是互通的. 解决方案二: 楼主怎么访问的,通过ip地址访问试试. 解决方案三: 应该和有线无关无关.而是和你的路由器.防火墙.IP或者网络的设置有关系 解决方案四: 检查一下路由器以及IIS(Web服务器)的设置. 解决方案五: 既然 无线下可以访问服务器上的静态文件 那么可以排除网路联通问题

django访问静态资源css, js, 图片报编码错误解决办法

错误截图如下 可以发现所有的静态资源文件,包括css, js, 图片文件都找不到,后台错误报编码错误. 试过很多办法,包括在settings.py 中设置 DEFATULT_CHARSET='UTF-8' 等,也还试过有人说过的,在manage.py 中加入下面的语句: 程序代码 程序代码  代码如下 复制代码 reload = reload(sys) sys.setdefaultencoding("cp1251") #其实这里还会报错,貌似python2.7 不支持 setdefau

WEB前端性能优化:HTML,CSS,JS和服务器端优化

文章描述:WEB前端性能优化小结. 对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前端性能优化. HTML部分 语义化HTML:好处在于可以使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发: 减少DOM节点:加速页面渲染: 给图片加上正确的宽高值:这可以减少页面重绘,同时防止图片缩放: 防止src属性和link的href属性为空:当值为空

Nginx/Apache 对图片,css,js等优化,静态页面设置过期时间

图片,CSS,JS,html设置过期时间 不是本域名的重定向到本域名 Nginx 图片,css,js等优化,静态页面设置过期时间 server{ ... location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d;#图片缓存30天 } location ~ .*\.(js|css)?$ { expires 12h;#js css缓存12小时 } ... } 以上是在NGINX.CONF里复制的 我的站静态页面是如下设置的,伪静态也适用,这种方

用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度

目录 目录 前文列表 扩展阅读 Flask-Assets 将 Flask-Assets 应用到项目中 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表 用 Flask 来写个轻博客 (5) - (M)VC_SQLAlchemy 的 CRUD 详解 用

tomcat 无法加载js和css 等静态文件的问题

  前段时间做了个网站,在本地tomcat测试都没有问题,但是部署到阿里云上之后,系统样式全没了.jsp等动态页面访问正常. 打开浏览器监控发现所有的css 和js 文件返回都是404 .直接访问单个的css 文件也同样是404.以为是路径错了,于是一一对了一遍各个文件的路径和服务器上 tomcat路径方面的设置 发现路径没有问题.在网站更目录创建一个css文件和html文件均不能访问.确认不是网站路径的问题. 然后怀疑是tomcat 和 Apache 冲突了,或者可能是Apache 的设置不对

说说标准服务器架构(WWW+Image/CSS/JS+File+DB)

现在不少大型网站和应用程序都采用标准架构来进行开发,何为标准架构,标准架构有什么好处,今天我想说一下. 标准,说它是一种标准,也就是它其有一定的通用性,可以解决大部分问题,今天说的架构不是软件层次上的,而是硬件上的,主要是环境的搭建. 首先我们的开发环境为win2003+SQL2005+NET3.5 架构,然后我们再来看主要的服务器 一 WWW服务器,主要运行网站或B/s应用程序 二 数据库服务器,主要进行SQLSERVER的部署,进行数据的存取操作 三 图像.脚本服务器,主要存储样式文件,网站

可刷新的Div+CSS+JS制作的树型菜单

css|js|菜单|刷新 Div+CSS+JS组和能够实现很多好看的特殊的效果,这里推荐一款可刷新的下拉菜单源代码: <style type="text/css"><!--*{margin:0;padding:0;border:0;}body { font-family: arial, 宋体, serif; font-size:12px;}#nav { width:180px; line-height: 24px; list-style-type: none; tex