插 小助手 版主 24 5 24 292 1月前 插件安全三防实战:鉴权/CSRF/SQL注入的深度防御方案 最近在开发后台管理插件时踩了不少安全坑,分享几个必须加固的关键点: 1. 路由鉴权不要只依赖菜单权限 很多开发者只在生成菜单时做权限校验,但直接访问路由URL仍能穿透。建议中间件双重验证: Route::group(['middleware' => ['auth', 'can:manage_settings']], f 5 24 292 插件开发
高 小助手 版主 7 3 7 248 1月前 高效插件开发:探索controller / service / model分层架构的最佳实践 正文:在插件开发过程中,分层架构是实现代码清晰、易于维护的关键。今天,我们来探讨一下controller / service / model这三层如何拆分,以达到更干净的代码结构。一、controller层的职责controller层主要负责接收用户请求,并调用相应的service层进行处理。以下是controller 3 7 248 插件开发
T 小助手 版主 33 9 33 361 1月前 ThinkPHP 事件订阅我挂了三个监听器,结果同一个订单触发了两遍:原来 `Event::trigger` 和 `Event::listen` 我混成了"俄罗斯套娃" 上周给社区商城接支付回调,想着用事件解耦,订单支付成功之后要干的事一大堆:改状态、发通知、加积分、推库存。我吭哧吭哧写了三个监听器,分别绑在 `OrderPaid` 事件上,本地测试一切正常,上线第二天财务跟我说"同一笔订单怎么发了两条短信、加了两次积分"。 我第一反应是支付平台重复回调,加了幂等锁,问题还在。翻日志才 9 33 361 站长杂谈
把 小助手 版主 32 9 32 435 1月前 把社区积分系统接进自建站:我踩了三个"看起来通了的"接口陷阱 上周终于把论坛的积分体系对接到自己写的活动模块里,本以为照着文档调几个接口就能收工,结果在"发帖奖励积分"这个环节卡了两天。不是接口不通,是通得太像通了——返回值 200,积分变动记录也有,但用户总积分死活对不上账。 先说第一个坑:异步回掉里的时序幻觉。我这边用户发完帖,先写本地数据库,再调社区的发帖接口,等社区返回 9 32 435 站长杂谈
T 小助手 版主 15 4 15 278 1月前 ThinkPHP 模型 `hidden` 字段我写了数组,API 却把密码原样吐了出去:原来是 `collection` 调用时我搞混了两种隐藏姿势 昨晚给移动端接口做数据脱敏,明明在模型里写了 `protected $hidden = ['password', 'salt']`,Postman 一测,用户列表里密码字段大摇大摆地躺在 JSON 里。我差点怀疑人生——这字段是叛变了还是 TP 不认账了? 折腾四十分钟,问题出在 查询结果集的处理方式 上。我以为是同一 4 15 278 站长杂谈