`
旷世cC
  • 浏览: 25602 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

附件上传的bug【转】

 
阅读更多
以下为同事建议的处理方法:
很多项目中都把附件上传到webRoot目录下的某一个目录(没有限制上传文件),这样系统就增加了一个安全漏洞,上传一个JSP,就可以做任何操作。处理方案是限制这些目录的JSP直接访问.

操作如下,在web.xml最前面配置一个过滤器:
    <filter>
       <filter-name>jsplimitaccessfilter</filter-name>
       <filter-class>com.xx.JspLimitAccessFilter</filter-class>
       <init-param>
          <param-name>limitpaths</param-name>
          <param-value>/upload/</param-value>
       </init-param>
    </filter>
 
    <filter-mapping>
       <filter-name>jsplimitaccessfilter</filter-name>
       <url-pattern>*.jsp</url-pattern>
    </filter-mapping>


JspLimitAccessFilter代码如下:
package com.xx;

import java.io.IOException;
import java.util.HashSet;
import java.util.Set;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import com.xx.pub.util.Tools;

public class JspLimitAccessFilter implements Filter {
	
	private String limitpath="/upload/";
	private Set<String> limitspath=new HashSet<String>();

	
	public void destroy() {
	}

	
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		HttpServletRequest request=(HttpServletRequest)arg0;
		String url=request.getRequestURI();
		for(String s: limitspath){
			if(url.indexOf(s)!=-1){
				return;
			}
		}
		arg2.doFilter(arg0, arg1);

	}

	
	public void init(FilterConfig arg0) throws ServletException {
		String limits=arg0.getInitParameter("limitpaths");
		if(Tools.isNull(limits)){
			limits = limitpath;
		}
		String [] ls=limits.split(";");
		for(String s: ls){
			limitspath.add(s);
		}
	}

}


来自ucap liuhf
--------------------
也有另外一个解决方案,就是限制文件上传的格式;
分享到:
评论

相关推荐

    mantis上传附件大小问题

    在使用Mantis的过程中,开发者或测试人员常常需要上传各种类型的文件作为bug报告的附件,比如截图、日志文件或其他相关文档等。这些附件能够帮助团队更好地理解问题所在,并加快问题解决的速度。然而,由于服务器...

    bugfree,bug管理

    5. **评论与附件**:在bug记录中,团队成员可以添加评论交流解决方案,也可以上传相关文件以供参考,如日志、截图等。 6. **报表与统计**:BugFree提供了丰富的报表功能,可以生成bug的数量统计、解决速度、各阶段...

    Bugfree3.0.3用户手册

    对于团队协作中的附件上传问题,BugFree允许管理员更改上传附件的大小限制,以满足不同项目的需求。此外,BugFree还支持快捷键操作,提高用户的工作效率。 BugFree的安装较为简便,文档中提到了在Windows操作系统下...

    禅道,BUG提交工具

    同时,禅道支持附件上传,测试人员可以附上截图或日志文件,以便开发人员更准确地定位问题。 其次,禅道的流程化管理让BUG处理变得有序。一旦BUG被提交,系统会自动分配给相应的负责人,同时发送通知,确保相关人员...

    jquery批量上传, java后台批量上传下载无BUG对接,类似qq邮箱附件上传功能

    本项目针对这一需求提供了实现,标题提及的是“jquery批量上传”与“java后台批量上传下载无BUG对接”,这涉及到前端jQuery库的使用以及后端Java技术的集成,以实现类似QQ邮箱附件上传的功能。以下将详细介绍这两个...

    Bugfree3.0用户手册v1.0.docx

    Bug 字段包括 Bug 标题、模块路径、指派给、抄送给、严重程度、优先级、解决方案、相关 Bug、上传附件、复现步骤等。 其中,Bug 标题是包含关键词的简单问题摘要,用于快速了解问题。模块路径指定问题出现在哪个...

    uploadify大文件多文件上传在asp.net的使用,修改删除的bug和覆盖bug包括IIS配置

    最近项目需要用到上传功能,上传功能要与邮箱里面的 添加附件 功能 一样,思来想去,最终确定用uploadify插件去做。好了,下面将详细讲解如何使用uploadify uploadify 其中有一个bug是,已经上传完成的文件,点击...

    bugfree帮助文档

    - 创建附件上传目录BugFile,并设置权限。 2. **从旧版本升级到BugFree 3.0**: - 升级前备份数据库和虚拟目录,确保数据安全。 - 下载新版本,覆盖原有BugFree目录。 - 访问升级页面,按照提示进行升级操作。 ...

    测试BUG流程管理规范

    - **系统结果**:描述执行完操作步骤后系统的实际表现,可以附带截图或附件来辅助说明问题。 - **预期结果**:描述按照需求文档或设计稿,系统应该呈现出的结果。 **3. BUG例子** - 示例:【系统首页面】-【系统...

    Bugfree使用说明文档

    4. 在 BugFree 根目录创建名为 BugFile 的附件上传目录,并设置适当权限。 5. 安装完成后,使用默认用户名 `admin` 和密码 `123456` 登录。 **三、BugFree 界面** BugFree 的界面简洁明了,主要包括各种管理模块,...

    上传附件插件包

    在IT行业中,上传附件是网页应用中的一个常见功能,它允许用户将本地文件发送到服务器。"上传附件插件包" 提供了一种无需依赖Flash技术的解决方案,这对于那些已经逐渐淘汰Flash支持的现代浏览器来说尤其重要。Flash...

    bugfree的安装包

    BugFree提供了丰富的功能,如bug报告、状态跟踪、优先级排序、关联代码、评论和附件上传等。 7. **维护与更新**:为了保持系统的稳定性和安全性,定期检查BugFree的更新是必要的。当有新版本发布时,可以按照官方的...

    BUGFREE使用说明

    - **上传附件**:支持上传截图、日志等,辅助问题排查。 - **复现步骤**:清晰的步骤描述,错误结果和期望结果。 - **备注**:附加信息,如历史复现情况。 ### 使用流程 1. 创建BUG,设置基本信息,如状态、严重...

    php附件上传zyupload+php

    修复市面上大多数的上传bug,增加php文件内的附件格式判断

    Bug管理系统

    5. **评论和附件**:允许用户添加注释,上传截图或日志文件以辅助理解问题。 6. **统计和报告**:提供关于Bugs数量、解决速度、团队表现等的统计数据,帮助管理层评估项目健康状况。 7. **版本控制**:关联Bugs到...

    bugfree ppt

    - **关联与附件**:可以为缺陷添加关联的其他缺陷,或者上传日志、截图等附件,以便更清晰地说明问题。 - **邮件通知**:系统支持自动发送邮件通知,当缺陷状态发生变化时,相关人员会收到实时提醒。 **4. BUGFREE...

Global site tag (gtag.js) - Google Analytics