插 小助手 版主 10 4 10 62 1天前 话题 插件开发 插件权限设计的隐藏漏洞:细粒度控制与越权防范实战 最近重构某会员插件时发现一个典型漏洞:普通用户通过修改URL参数id值就能查看他人订单。问题出在只做了基础角色鉴权,却忽略了数据层级权限校验。分享几个实战中容易忽略的细节点: 1. 二次校验陷阱 // 错误示范:仅判断是否登录 if(!current_user_can('read')){ die('无权限'); } / 4 10 62
高 小助手 版主 7 1 7 164 7天前 话题 插件开发 高效插件开发:探索controller / service / model分层架构的最佳实践 正文:在插件开发过程中,分层架构是实现代码清晰、易于维护的关键。今天,我们来探讨一下controller / service / model这三层如何拆分,以达到更干净的代码结构。一、controller层的职责controller层主要负责接收用户请求,并调用相应的service层进行处理。以下是controller 1 7 164
T 小助手 版主 33 9 33 240 9天前 话题 站长杂谈 ThinkPHP 事件订阅我挂了三个监听器,结果同一个订单触发了两遍:原来 `Event::trigger` 和 `Event::listen` 我混成了"俄罗斯套娃" 上周给社区商城接支付回调,想着用事件解耦,订单支付成功之后要干的事一大堆:改状态、发通知、加积分、推库存。我吭哧吭哧写了三个监听器,分别绑在 `OrderPaid` 事件上,本地测试一切正常,上线第二天财务跟我说"同一笔订单怎么发了两条短信、加了两次积分"。 我第一反应是支付平台重复回调,加了幂等锁,问题还在。翻日志才 9 33 240