云笔记上传文件

云笔记上传文件

1.flie.html`

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <title>笔记管理</title>
  <link rel="stylesheet" href="./layui/css/layui.css" media="all">
  <style>
    body{margin: 10px;}
    .demo-carousel{height: 200px; line-height: 200px; text-align: center;}
  </style>
</head>
<body>
<div class="layui-upload-drag" id="test10">
  <i class="layui-icon"></i>
  <p>点击上传,或将文件拖拽到此处</p>
   
  </div>


  </br></br>
  <a href="file/download.do" >下载</a>



 
<script src="./layui/layui.js"></script>
<script src="./js/file.js"></script>


</body>
</html>

2.file.js


layui.use(['laypage', 'layer', 'table','jquery','upload'], function(){
  var laypage = layui.laypage //分页
  ,layer = layui.layer //弹层
  ,table = layui.table //表格
  ,$=layui.jquery //jquery
  ,upload=layui.upload

//拖拽上传
  upload.render({
    elem: '#test10'
    ,url: 'file/upload.do' //改成您自己的上传接口
    ,accept:"file"
    ,done: function(res){
      layer.msg(res.message);
     
      console.log(res)
    }
  });
  

  
  
  $("#download").click(function(){
	  $.ajax({
          url: "file/download.do",
          type: 'post',         
          success: function (data, status, xhr) {
              console.log("Download file DONE!");
              console.log(data); // ajax方式请求的数据只能存放在javascipt内存空间,可以通过javascript访问,但是无法保存到硬盘
              console.log(status);
              console.log(xhr);
              console.log("=====================");
          }
      }); 
  });

});

3.FileController.java

package com.whc.noteserver.controller;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.whc.noteserver.entity.NoteBook;
import com.whc.noteserver.param.NoteBookParam;
import com.whc.noteserver.result.LayPage;
import com.whc.noteserver.service.NoteBookService;
import com.whc.noteserver.util.JsonResult;


@Controller //注解,组件扫描加入到spring容器中
@RequestMapping("/file") //类controller的映射路径
public class FileController {
	
	
	/**
	 *  文件上传
	 * @return
	 */
	@RequestMapping("/upload")
	@ResponseBody
	public JsonResult upload(MultipartFile file) {
		try {
			String path="E:\\images\\2020-06-17\\";
			if(!new File(path).exists()) {
				new File(path).mkdirs();
			}
			String fileName="1.xls";
			
			file.transferTo(new File(path+fileName));
		}catch(Exception e) {
			e.printStackTrace();
		}
		
		return new JsonResult(JsonResult.STATE_SUCCESS,"上传成功",null);
	}
	
	@RequestMapping("/download")
	public void download(HttpServletRequest request,HttpServletResponse response) {
		String filePath="E:\\images\\2020-06-17\\1.xls";
		try {
			InputStream bis= new BufferedInputStream(new FileInputStream(new File(filePath)));
			String fileName="张三.xls";
			fileName=URLEncoder.encode(fileName,"UTF-8");
			response.addHeader("Content-Disposition", "attachment;filename="+fileName);
			response.setContentType("multipart/form-data");
			BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
			int len=0;
			while((len=bis.read())!=-1) {
				out.write(len);
				out.flush();
			}
			out.close();
			bis.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有道云笔记是一款文件管理和云存储平台,用户可以将各种文件上传至云端进行保存和管理。针对有道云笔记的渗透测试的文件上传核题,主要是测试目标是否存在文件上传漏洞。 文件上传漏洞是指攻击者通过上传恶意文件或者利用上传功能绕过限制,成功在目标服务器上执行任意代码或者获取未授权的访问权限。攻击者可通过上传特定类型的文件,利用后台执行逻辑漏洞或者文件解析漏洞,从而实现对目标系统的攻击或控制。 针对有道云笔记的文件上传漏洞,常见的测试方法包括: 1. 尝试上传各种类型的文件:测试能否上传系统可执行文件、脚本文件或者危险的文件类型。 2. 绕过后台验证:尝试修改请求报文、绕过文件类型检查、篡改上传文件路径等,测试服务器是否能正确地执行上传操作的检查。 3. 文件解析漏洞测试:测试上传的文件是否能够被服务器直接解析,并且触发对应的解析漏洞。 4. 文件重命名与遍历:测试能否修改上传文件的文件名,并尝试通过../等目录遍历操作访问到其他敏感文件。 针对发现的漏洞和问题,需要将测试结果整理成详细的渗透测试报告,包括漏洞描述、危害程度评估和修复建议等。然后与有道云笔记的开发团队和管理员进行沟通,提供测试结果和修复建议,并跟踪漏洞修复进展。 及时发现和修复文件上传漏洞,对于保护用户数据和防止潜在的攻击十分重要。因此,有道云笔记应该充分重视渗透测试的文件上传核题,加强安全意识和漏洞修复的流程,确保用户数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值