【漏洞】Druid未授权访问漏洞及修复方案
2025/12/17 21:22:14
- 主要实现是接口返回文件流(包括文件名),前端处理下载文件
- 参考这里
方法1的代码 https://blog.csdn.net/m0_53562074/article/details/127364159
导出文件
后端接口返回的文件名解析出来带有引号,导致 a 标签中 download 属性值有双引号,从而导致文件名前后带有下划线
在使用 a 标签下载文件时,将文件名中的引号去掉
/** * 将二进制的数据导出为 excel * @param {string} data 数据 * @param contentType * @param {string} fileName 文件名称 */exportfunctionexportResponseData(data,contentType,fileName){constdownloadLink=window.document.createElement('a')downloadLink.href=window.URL.createObjectURL(newBlob([data],{type:contentType}))// downloadLink.download = fileNamedownloadLink.download=fileName.replace(/'"|"/g,'')// 【主要代码】去掉文件名中的引号document.body.appendChild(downloadLink)downloadLink.click()document.body.removeChild(downloadLink)}文件名正常