upload-labs靶场Pass-21

$is_upload = false; // 初始化上传状态为false $msg = null; // 初始化消息变量为null // 检查是否有文件上传 if(!empty($_FILES['upload_file'])){ // 定义允许的MIME类型 $allow_type = array('image/jpeg','image/png','image/gif'); // 检查上传文件的MIME类型是否在允许的类型中 if(!in_array($_FILES['upload_file']['type'],$allow_type)){ $msg = "禁止上传该类型文件!"; // 如果不允许,设置错误消息 }else{ // 检查文件名,如果没有提供保存名称,则使用上传文件的原始名称 $file = empty($_POST['save_name']) ? $_FILES['upload_file']['name'] : $_POST['save_name']; // 将文件名按点分割为数组,转换为小写 if (!is_array($file)) { $file = explode('.', strtolower($file)); } // 获取文件扩展名 $ext = end($file); // 定义允许的文件后缀 $allow_suffix = array('jpg','png','gif'); // 检查文件扩展名是否在允许的后缀中 if (!in_array($ext, $allow_suffix)) { $msg = "禁止上传该后缀文件!"; // 如果不允许,设置错误消息 }else{ // 生成最终的文件名 $file_name = reset($file) . '.' . $file[count($file) - 1]; // 获取临时文件路径 $temp_file = $_FILES['upload_file']['tmp_name']; // 定义文件上传的目标路径 $img_path = UPLOAD_PATH . '/' .$file_name; // 尝试将临时文件移动到目标路径 if (move_uploaded_file($temp_file, $img_path)) { $msg = "文件上传成功!"; // 上传成功,设置成功消息 $is_upload = true; // 更新上传状态为true } else { $msg = "文件上传失败!"; // 上传失败,设置错误消息 } } } }else{ $msg = "请选择要上传的文件!"; // 如果没有文件上传,设置错误消息 }
上一篇:使用 FastGPT 工作流搭建 GitHub Issues 自动总结机器人


下一篇:优选算法专题一 ——双指针算法