2021-08-11

从CVE-2023-17233漏洞挖掘到批量自动化渗透测试实战 在Web安全领域,路径遍历(Path Traversal)是一种经典的漏洞类型,其原理在于应用程序未对用户输入的文件路径参数进行充分验证和规范化,导致攻击者可以通过构造包含“../”等序列的输入,访问预期目录之外的文件系统。这种漏洞的技术价值在于,它往往能直接导致敏感信息泄露,例如读取系统配置文件、应用程序源码或数据库凭证,为后续的权限提升和内网横向移动提供关键跳板。在诸如校园网、企业OA等由标准化产品构成的网络环境中,特定厂商的特定系统(如锐捷自助服务平台)一旦被曝出此类漏洞,其影响范围往往非常广泛。这便 阅读详情

SpringBoot+Vue中实现文件上传(图片)

1、导入依赖

<dependency>
	<groupId>cn.hutool</groupId>
	<artifactId>hutool-all</artifactId>
	<version>5.7.3</version>
</dependency>

2、编写Controller上传接口

@Value("${server.port}")
private String port;

private static final String ip="http://localhost";
/**
 * 上传接口
 * @param file
 * @return editor/upload
 * @throws IOException
 */
@PostMapping("/upload")
public Result<?> upload(MultipartFile file) throws IOException {
    String originalFilename = file.getOriginalFilename();  // 获取源文件的名称
    // 定义文件的唯一标识(前缀)
    String flag = IdUtil.fastSimpleUUID();
    String rootFilePath = System.getProperty("user.dir") + "/files/" + flag + "_" + originalFilename;  // 获取上传的路径
    FileUtil.writeBytes(file.getBytes(), rootFilePath);  // 把文件写入到上传的路径
    return Result.success(ip + ":" + port + "/files/" + flag);  // 返回结果 url
    //return Result.success();
}

3、编写Controller下载接口

/**
* 下载接口
* @param flag
* @param response
*/
@GetMapping("/{flag}")
public void getFiles(@PathVariable String flag,HttpServletResponse response) {
	OutputStream os;  // 新建一个输出流对象
	String basePath = System.getProperty("user.dir") + "/files/";  // 定于文件上传的根路径
	List<String> fileNames = FileUtil.listFileNames(basePath);  // 获取所有的文件名称
	String fileName = fileNames.stream().filter(name -> name.contains(flag)).findAny().orElse("");  // 找到跟参数一致的文件
	try {
	    if (StrUtil.isNotEmpty(fileName)) {
	        response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
	        response.setContentType("application/octet-stream");
	        byte[] bytes = FileUtil.readBytes(basePath + fileName);  // 通过文件的路径读取文件字节流
	        os = response.getOutputStream();   // 通过输出流返回文件
	        os.write(bytes);
	        os.flush();
	        os.close();
	    }
	} catch (Exception e) {
	    System.out.println("文件下载失败");
	}
}

4、在vue界面中显示
1)、上传

<el-form-item label="封面" >
    <el-upload ref="upload" action="http://localhost:6060/singer/upload" :on-success="filesUploadSuccess">
        <el-button  type="primary">点击上传</el-button>
    </el-upload>
</el-form-item>

2)、上传成功后清除显示的文件

methods: {
    filesUploadSuccess(res){
         console.log(res);
         this.form.pic=res.pic;
     },
     add(){
         this.dialogVisible=true;
         this.form={};
         if(this.$refs['upload']){
             this.$refs['upload'].clearFiles();//清空历史文件列表
         }
     }
}

3)、显示

<el-table-column label="封面">
    <template #default="scope">
        <el-image
                style="width: 100px;height: 100px"
                :src="scope.row.pic"
                :preview-src-list="[scope.row.pic]">

        </el-image>
    </template>
</el-table-column >
MAX30102传感器实战:从寄存器配置到Arduino心率血氧监测 本文详细介绍了MAX30102传感器在Arduino平台上的实战应用,从寄存器配置到心率血氧监测的全过程。通过清晰的代码示例和实用技巧,帮助开发者快速实现脉搏血氧仪功能,包括I2C通信、FIFO数据处理及算法实现,适用于健康监测和可穿戴设备开发。 阅读详情

相关推荐

UI-TARS本地部署

UI-TARS是一个用于本地部署的交互控制模型,支持桌面应用的自动化操作。部署步骤包括:首先,从官方GitHub仓库下载项目源码和模型checkpoint;其次,使用vLLM框架进行本地模型部署,启动API服务;最后,通过客户端调用API实现功能。部署过程中可能遇到pynvml模块或模型配置问题,提供了相应的解决方案。此外,还支持通过UI-TARS-Desktop客户端进行本地桌面应用的交互控制。整体流程旨在帮助用户快速实现UI-TARS的本地部署与应用。

DYF的博客 2531

Spring学习笔记_26——LWT

LWT,即运行时织入(Load-time Weaving),是Spring框架中面向切面编程(AOP)的一种实现方式。

LuckyLay的博客 820

在PLC中将十六进制数据转换为浮点数(通常遵循IEEE 754标准)需要理解数据存储格式,并按以下步骤操作:

通过以上步骤,您可以在PLC中实现十六进制到浮点数的转换。T DBD20 // 将数据传送到浮点数变量(如DB1.DBD20)指数位(8位):实际指数 = 存储值 - 127(偏移量)。:必须确认PLC的存储顺序(大端或小端),否则结果错误。将两个16位寄存器合并为32位数据,需注意。尾数位(23位):隐含前导1,实际值为。:确保32位数据在寄存器中连续且对齐。符号位(1位):0表示正,1表示负。:高位寄存器在前(如西门子PLC)。:低位寄存器在前(如三菱FX系列)。,误差因截断导致)。

K11mvp的博客 4416

Object类的方法

Object类一共有13个方法 1、clone方法:保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是Java里除了8种基本类型传参数是值传递,其他的对象传参数都是引用传递,我们有时候不希望在方法里将参数改变,这时就需要在类中书写clone方法。 2、...

192

高通SA8155P车载Camera开发避坑指南:从硬件拓扑到AIS服务调试全流程

本文详细解析了高通SA8155P车载Camera开发全流程,从硬件拓扑设计到AIS(Automotive Imaging System)服务调试,涵盖关键组件配置、软件架构剖析及高级调试技巧。通过实战经验分享,帮助开发者避开常见陷阱,优化系统性能,适用于智能驾驶系统的环境感知开发。

weixin_42550597的博客 331

QT-使用ECharts显示地图,还有更多惊艳的图表等待你的使用

QT-使用ECharts显示地图前言一、使用步骤1.下载示例2. QT使用HTML文件配置3.使用HTML文件4. 数据交互及自适应总结注意:这个地图是百度的在线地图,需要百度API密钥和在联网的状态下使用。离线使用图表 前言 我上文QT图表chart-饼状图,使用qt自带的图表库charts来显示图表,实现数据可视化,但是QT自带的图表库显示效果并不佳,通俗说,就是不好看。 然而,有这么一个开源图表库,图表种类极多,并且效果良好,能够实现具有很好的视觉冲击的数据可视化。 它就是Apache ECharts

博咯的博客 4896

Stream filter()过滤有效数据

filter()是一个中间操作,可以与 reduce()、collect()、map() 等一起使用。filter一般适用于list集合,主要作用就是模拟sql查询,从集合中查询想要的数据。 java官方文档语法如下。 filter(Predicate predicate) 它返回Stream的实例,该实例在处理Predicate后包含过滤后的数据。它被用作中间操作。filter()可用于许多不同的场景。如果我们想根据任何条件筛选list, array 或map,我们可以使用 lambda 表达式和

持之以恒! 8万+

Python爬虫实战:如何抓取旅游论坛上的帖子、旅行攻略和评论内容

无论是知名的旅游网站,还是地方性的旅游讨论区,用户发布的旅行贴文、攻略和评论往往包含着大量的宝贵信息。本文将详细介绍如何使用Python编写一个爬虫,抓取旅游论坛上的帖子、旅行攻略和评论内容,涵盖从获取页面内容、解析数据到处理动态加载等各个方面的技术。从基本的请求和网页解析,到动态加载页面的处理,再到数据存储和反爬虫技巧,我们详细讲解了抓取旅游论坛数据的全过程。通过本文的介绍,你可以将所学的爬虫技术应用到其他类似的网站抓取任务中,为后续的数据分析、机器学习等任务提供丰富的数据源。在这种情况下,传统的。

2201_76125261的博客 1557

单例设计模式八种写法

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session 对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory就够,这是就会使用...

weixin_30276935的博客 414

Nvidia Orin Driveos Camera 介绍及调试详解

自动驾驶-nvidia orin driveos Camera 驱动详解及调试

u011803281的博客 2991

点云处理指南介绍

指南目录,Open3D与PCL内容介绍

NNNNNathan的博客 1万+

2021-11-08

解决下载vscode慢的问题 mac下载地址 https://vscode.cdn.azure.cn/stable/b3318bc0524af3d74034b8bb8a64df0ccf35549a/VSCode-darwin-universal.zip 以上是mac下载地址,下载vscode版本为 2021.11.08 当前日期最新版本

weixin_44696379的博客 141

一[3.3]、ubuntu18.04环境 利用 yolov8 实现列车轨道检测,并提取正确的轨道线【全网最详细】

【代码】一[3.3]、ubuntu18.04环境 利用 yolov8 实现列车轨道检测,并提取正确的轨道线【全网最详细】

努力努力努力 258

大地win11 32位旗舰版镜像v2021.08

大地win11 32位旗舰版镜像v2021.08是一款专为笔记本用户准备的电脑系统,这是一个镜像系统,所以安装速度非常快,且充满了独具的特色,让你可以快速的将系统完成安装,而且不用激活,安装完成就能立即使用,大大节省用户时间! 大地win11 32位旗舰版镜像v2021.08 一、系统特点 1、确定目标机器的类型。如果是台式电脑,打开数字小键盘关闭键盘更方便。 2、系统经过优化,启动服务经过仔细筛选,确保优化的同时保证系统的稳定。 3、系统安装完毕自动卸载多余驱动,稳定可靠,确保恢复效果接近全新安装版。 4

yisago的博客 223

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

深度技术win11 32位稳定版系统v2021.08

深度技术win11 32位稳定版系统v2021.08以微软官方原版作为母盘对系统进行了全面优化更新,用户使用更加流畅顺手,轻松体验到系统的优秀性能,适用目前市场最新机型以及老旧机型,多种安装方式供用户选择,且更新时间短无需用户等待。 深度技术win11 32位稳定版系统v2021.08 一、系统特点 1、确定目标机器的类型。如果是台式电脑,打开数字小键盘关闭键盘更方便。 2、屏蔽很多浏览网页时自动弹出的IE插件,开启路由和IP过滤,关闭自动列表。 3、提前激活windows个人设置更新,提高系统恢复速度,关

yisago的博客 785

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

雨林木风win11 64位全新专业版系统v2021.08

雨林木风win11 64位全新专业版系统v2021.08是目前非常火热的电脑操作系统,系统运行速度非常的快速,拥有稳定、安全、兼容性强等特点,多样化的服务可供你的使用,支持在线的升级,非常的便捷,可以提高系统的性能,用户可以直观地提高了整个系统的运行速度和效率。 雨林木风win11 64位全新专业版系统v2021.08 一、系统特点 1、轻松满足用户的操作需求,可以帮助用户激活正版权限,提供正版补丁优化检测。 2、可以很好的满足用户在系统交互的各个方面的需求,是非常优质的全新系统版本。 3、经过完美优化,在

yisago的博客 898

雨林木风win11 64位原版系统v2021.08

雨林木风win11 64位原版系统v2021.08具有很强的兼容性和稳定性,能适配所有型号的电脑并进行安装,绝大部分的硬件驱动也能完美兼容,提供多种装机方式,用户可以自由的选择,非常适合有装机需求的用户。 雨林木风win11 64位原版系统v2021.08 一、系统特点 1、轻松满足用户的操作需求,可以帮助用户激活正版权限,提供正版补丁优化检测。 2、可以很好的满足用户在系统交互的各个方面的需求,是非常优质的全新系统版本。 3、经过完美优化,在不影响操作的情况下,帮助精简系统中的鬼程序等不常用的组件。 4、

yisago的博客 955

萝卜家园win11系统32位微软原版镜像v2021.08

萝卜家园win11系统32位微软原版镜像v2021.08是一款具备了稳定、快速和安全稳定特点的Win11系统,采用了全新的智能安装技术,安装完成后能自动激活,支持全面的驱动,可以完美的兼容各种硬件和软件,且自带安全功能,非常的好用,而且不用激活,安装完成就能立即使用,大大节省用户时间! 萝卜家园win11系统32位微软原版镜像v2021.08 一、系统特点 1、是非常专业的系统,有着全新便捷的交互功能,让用户享受最完整的操作模式。 2、系统的运行环境得到充分优化,可以在很多的方面为用户提供最好的服务环境。

yisago的博客 494

大地win11 64位旗舰版系统v2021.08

大地win11 64位旗舰版系统v2021.08是一款非常稳定的电脑操作系统,集成多个针对系统用户优化的补丁,且无需输入相关的序列号等,可以完美激活合法权益,感兴趣的用户们就快来下载使用该系统吧。 大地win11 64位旗舰版系统v2021.08 一、系统特点 1、兼容各种硬件设备。能更好的完成用户的安装,有效使用。 2、农民除了使用各种系统服务外,还赠送了许多常用的系统工具。 3、用户可以下载新软件,操作系统兼容软件流程,兼容性也很高。 4、安装后,为用户提供真正的数字桩激活和管理员权限,很实用。 5、尽

yisago的博客 294

技术员联盟win11系统64位专业版镜像v2021.08

技术员联盟win11系统64位专业版镜像v2021.08以微软官方原版作为母盘对系统进行了全面优化更新,用户使用更加流畅顺手,轻松体验到系统的优秀性能,适用目前市场最新机型以及老旧机型,多种安装方式供用户选择,且更新时间短无需用户等待。 技术员联盟win11系统64位专业版镜像v2021.08 一、系统特点 1、轻松满足用户的操作需求,可以帮助用户激活正版权限,提供正版补丁优化检测。 2、可以很好的满足用户在系统交互的各个方面的需求,是非常优质的全新系统版本。 3、经过完美优化,在不影响操作的情况下,帮助精

yisago的博客 692

java中如何把2021-04-05T11:22:23.349+08:00转成Date呢

java中如何把2021-04-05T11:22:23.349+08:00转成Date呢 public static Date dealDateFormat(String oldDateStr) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); try { Date date = df.parse(oldDateStr); return date; }

qq_43153224的博客 5485

java怎么转换Fri Jul 02 11:25:49 GMT+08:00 2021转为2021-07-03 11:25:49

java怎么转换Fri Jul 02 11:25:49 GMT+08:00 2021转为2021-07-03 11:25:49 SimpleDateFormat df=new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH); Date date=df.parse(s); SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.ou

weixin_54393974的博客 1040
下一篇: 2021-08-11
Java_lwt
博客等级 码龄7年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值