You've already forked EasyImages2.0
mirror of
https://github.com/icret/EasyImages2.0.git
synced 2025-12-13 11:43:58 +08:00
v2.6.8
- 上传组件支持到 PHP 8.2 - 修复下载任意文件漏洞 [#75](https://github.com/icret/EasyImages2.0/issues/75) - 增加自定义底部信息 - 增加自定义管理提示 - 增加图床模式 - 危险:除图片外不验证文件是否正常,也代表可以上传任意指定格式! - 增加上传时生成缩略图(仅设置直链缩略图时生效),低配vps负载较大,影响前端上传速度! - 其他一些优化
This commit is contained in:
@@ -5,17 +5,38 @@
|
||||
* https://www.php.cn/php-weizijiaocheng-394566.html
|
||||
*/
|
||||
//获取要下载的文件名
|
||||
require_once __DIR__.'/function.php';
|
||||
|
||||
// 获取下载路径
|
||||
if (empty($_GET['dw'])) {
|
||||
exit('No File');
|
||||
exit('No File Path');
|
||||
}else{
|
||||
$dw = '../' . $_GET['dw'];
|
||||
// 检查文件是否存在
|
||||
if(!is_file($dw)){
|
||||
exit('No File');
|
||||
}
|
||||
}
|
||||
|
||||
$dw = '../' . $_GET['dw'];
|
||||
// 过滤下载非指定上传文件格式
|
||||
$dw_extension = pathinfo($dw,PATHINFO_EXTENSION);
|
||||
$filter_extensions = explode(',',$config['extensions']);
|
||||
|
||||
// 过滤下载其他格式
|
||||
$filter_other = array('php','json','log');
|
||||
|
||||
// 先过滤后下载
|
||||
if(in_array($dw_extension,$filter_extensions) && !in_array($dw_extension,$filter_other)){
|
||||
//设置头信息
|
||||
header('Content-Disposition:attachment;filename=' . basename($dw));
|
||||
header('Content-Length:' . filesize($dw));
|
||||
//读取文件并写入到输出缓冲
|
||||
readfile($dw);
|
||||
exit;
|
||||
}else{
|
||||
exit('Downfile Type Error');
|
||||
}
|
||||
|
||||
|
||||
|
||||
//设置头信息
|
||||
header('Content-Disposition:attachment;filename=' . basename($dw));
|
||||
header('Content-Length:' . filesize($dw));
|
||||
|
||||
//读取文件并写入到输出缓冲
|
||||
readfile($dw);
|
||||
exit;
|
||||
|
||||
Reference in New Issue
Block a user