当前位置: 首页 > news >正文

68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)

<?php
// 声明命名空间,遵循 PSR-4 自动加载规范,命名空间为 Home\Controller
namespace Home\Controller;// 导入 Think\Controller 类,以便扩展该类
use Think\Controller;// 定义 IndexController 类,继承自 Think\Controller 类
class IndexController extends Controller
{// index 方法,可能是默认页面的控制器方法public function index(){// 显示当前文件的源代码,通常用于调试或展示代码show_source(__FILE__);}// upload 方法,用于处理文件上传功能public function upload(){// 获取上传的文件信息,存储在 $uploadFile 变量中$uploadFile = $_FILES['file'];// 检查上传文件的名称,如果包含.php 后缀(不区分大小写),则返回 falseif (strstr(strtolower($uploadFile['name']), ".php")) {return false;}// 实例化 ThinkPHP 的 Upload 类,用于文件上传操作$upload = new \Think\Upload();// 设置允许上传的最大文件大小为 4096 字节$upload->maxSize = 4096;// 设置允许上传的文件扩展名,仅允许 jpg, gif, png, jpeg 类型的文件$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置文件上传的根目录为./Public/Uploads/$upload->rootPath = './Public/Uploads/';// 设置文件上传的子目录,这里为空$upload->savePath = '';// 调用 upload 方法进行文件上传,并将结果存储在 $info 变量中$info = $upload->upload();// 如果上传失败,调用 error 方法显示错误信息并返回if (!$info) {$this->error($upload->getError());return;} else {// 上传成功时,获取上传文件的存储路径和名称,并组合成完整的 URL$url = __ROOT__.substr($upload->rootPath, 1).$info['file']['savepath'].$info['file']['savename'];// 将上传成功的信息和文件 URL 以 JSON 格式输出echo json_encode(array("url" => $url, "success" => 1));}}
}

未完待续

 

 

http://www.lryc.cn/news/524439.html

相关文章:

  • Windows电脑桌面记录日程安排的提醒软件
  • TiDB与Oracle:数据库之争,谁能更胜一筹?
  • USART_串口通讯中断案例(HAL库实现)
  • 【MySQL】存储引擎有哪些?区别是什么?
  • [OpenGL]实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)
  • linux-NFS网络共享存储服务配置
  • w-form-select.vue(自定义下拉框组件)
  • ovs实现lb负载均衡
  • 机器学习-核函数(Kernel Function)
  • 计算最接近的数
  • 【QNX】QNX侧查看内存信息的方法
  • 逐笔成交逐笔委托Level2高频数据下载和分析:20250121
  • AutoSar架构学习笔记
  • 2024年智慧消防一体化安全管控年度回顾与2025年预测
  • 基于单片机的智能台灯设计
  • HJ108 求最小公倍数(Java版本)
  • 使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。
  • 实操演练第003讲-数据通途:客户端连接SQL Server的完美攻略
  • golang接口
  • LeetCode:37. 解数独
  • 数据结构与算法之递归: LeetCode 37. 解数独 (Ts版)
  • 【氮化镓】香港科技大学陈Kevin-单片集成GaN比较器
  • axios的使用总结
  • 革新未来:高效智能数字人技术引领多元化应用
  • 使用批处理文件清除系统垃圾
  • 总结5..
  • Java 在包管理与模块化中的优势:与其他开发语言的比较
  • LLMs(大型语言模型)的多智能体:Auto-GPT
  • CPU狂飙900%如何分析?怎么定位?怎么溯源处理
  • Excel 技巧17 - 如何计算倒计时,并添加该倒计时的数据条(★)