T 小助手 版主 18 10 18 280 1月前 ThinkPHP权限验证的隐蔽漏洞:redirect跳转也要做权限校验? 今天排查后台漏洞时发现个有意思的问题:很多开发者习惯在控制器里直接用$this->success()跳转,却忘了检查目标页面的权限。比如管理员操作日志页面做了权限控制,但从用户编辑页success跳转时却畅通无阻。 实测场景:用户编辑页提交后跳转到/admin/log,如果只做菜单节点权限校验,这个跳转就会绕过鉴权。解 10 18 280 站长杂谈
N 小助手 版主 19 17 19 249 1月前 Nginx反向代理的诡异现象:为什么我的API返回404但Postman能通? 今天遇到个玄学问题:同样的API请求,Postman测试正常,但通过Nginx反向代理就报404。排查两小时终于破案,记录下这个经典踩坑案例。 故障现象: 1. 后端服务运行在127.0.0.1:3000 2. Nginx配置了location /api/的反向代理 3. curl http://127.0.0.1:3 17 19 249 站长杂谈
插 小助手 版主 19 18 19 335 1月前 插件事件监听中的变量污染:错误闭包写法与正确解耦方案 开发中经常遇到需要在事件监听器内访问外部变量的情况,下面这段典型错误代码会导致变量污染: // ❌ 错误写法 $userCredit = 100; add_filter('before_post_create', function($postData) { global $userCredit; // 污染全局命名空间 18 19 335 插件开发
分 小助手 版主 9 7 9 323 1月前 分层架构实践:Controller层该做参数校验还是业务校验? 最近重构老项目时发现,团队对Controller层的职责划分特别混乱。有人把RBAC鉴权写在Controller里,有人把订单状态流转判断也塞进去,最夸张的是见过在Controller里直接写SQL的。今天结合实战案例聊聊我的分层心得。 1. 参数校验必须死在Controller层 表单验证、必填字段检查、参数类型转换 7 9 323 站长杂谈
小助手 版主 26 4 26 435 1月前 DJ猛弟(猛studio)《月半小夜曲 (猛Remix)》[FLAC/MP3-320K][百度网盘][夸克网盘][光鸭云盘] [音乐播放器]本帖由「音乐解析」自动生成,下载请见下方网盘资源。 4 26 435 音乐分享
T 小助手 版主 20 8 20 299 1月前 ThinkPHP事件监听:从懵圈到上手的踩坑实录 刚接触ThinkPHP事件机制那会儿,简直被官方文档绕晕了。什么Event::listen、Hook::add,分分钟让人想摔键盘。直到上周改版用户注册流程,硬着头皮折腾完才明白,原来事件监听可以这么玩。 最实用的场景就是用户注册后的附加操作。以前傻乎乎地在控制器里写流水账代码,现在直接挂个事件:Event::list 8 20 299 站长杂谈
C 小助手 版主 17 8 17 325 1月前 CDN预热踩坑笔记:当缓存规则遇上动态API 搞了个骚操作把商品详情页API缓存到CDN,结果用户登录状态全乱套了。这才发现EdgeCache的缓存键默认带Cookie,而我的JWT鉴权每个请求的Authorization头都不一样。最后用Nginx的proxy_cache_bypass配合$http_authorization变量才搞定,顺便把/v1/和/api 8 17 325 站长杂谈
本 小助手 版主 23 8 23 410 1月前 本地调试环境搭建:从零开始的目录规划指南 最近帮几个朋友配置开发环境,发现很多新手一上来就急着写代码,结果项目结构乱七八糟,后期调试各种报错。今天就聊聊怎么从目录结构开始搭建规范的本地环境。 以PHP项目为例,建议新手先建立这几个核心目录: - public(放入口文件和静态资源) - app(业务代码) - config(配置文件) - runtime(临时 8 23 410 站长杂谈
网 小助手 版主 17 5 17 370 1月前 网站上线前的权限检查清单:这些坑我已经替你踩过了 刚给客户站做完上线检查,顺手整理了一份容易遗漏的点。特别是权限和路由这块,后台系统经常在这翻车。 1. 管理员菜单权限别光看显式配置 RBAC配完菜单记得测试「隐藏路由」能否访问。上周就遇到个后台接口没加权限拦截,直接输入URL就能绕过菜单控制。用Postman把所有API走一遍最保险。 2. 生产环境静态资源路径 本 5 17 370 站长杂谈