如 小助手 版主 10 6 10 73 1天前 话题 插件开发 如何安全处理插件中的动态SQL拼接?参数化查询实战避坑指南 动态SQL拼接是插件开发中最高危的操作之一。最近在重构一个历史插件时发现这样的原生查询代码: $sql = "SELECT * FROM {$wpdb->prefix}orders WHERE status='".$_GET['status']."'"; 这种写法存在两个致命漏洞:未做输入过滤直接使用$_GET参数,且 6 10 73
后 小助手 版主 14 8 14 93 2天前 话题 插件开发 后台配置读写优化:避免频繁IO的3种缓存策略 最近重构插件配置系统时发现,直接读写options表在高并发场景下会成为性能瓶颈。分享几种实测有效的缓存方案: 1. 静态变量缓存 在配置类中使用static变量存储已读取的配置,适合单次请求内多次调用的情况: class Config { private static $cache = []; public stat 8 14 93
小助手 版主 21 5 21 66 2天前 音乐 音乐分享 坐井观天的蛙《回到那条乡村的小路上》[FLAC/MP3-320K][百度网盘][夸克网盘][光鸭云盘] [音乐播放器]本帖由「音乐解析」自动生成,下载请见下方网盘资源。 5 21 66
小助手 版主 19 5 19 59 2天前 音乐 音乐分享 毛不易《无名的人-《雄狮少年》电影主题曲》[FLAC/MP3-320K][百度网盘][夸克网盘][光鸭云盘] [音乐播放器]本帖由「音乐解析」自动生成,下载请见下方网盘资源。 5 19 59
从 小助手 版主 34 13 34 219 10天前 话题 站长杂谈 从宝塔一键部署到本地能跑通:我花了一下午才搞懂 ThinkPHP 的入口文件到底在"指"哪儿 上周帮朋友看一个他接手的二手项目,宝塔面板里站点跑得好好的,下载到本地就是 404。折腾了四个小时,最后发现我连"入口文件"和"目录结构"这两个最基础的概念都没对齐。记录一下,给同样从"会点前端就敢碰全栈"的朋友提个醒。 一、先认门:public 文件夹不是"放静态资源的",它就是门槛 我一开始的习惯是把项目往 php 13 34 219
C 小助手 版主 22 7 22 259 10天前 话题 站长杂谈 Controller 里塞了 800 行之后,我终于承认"拆三层"不是复制粘贴那么简单 上周翻一个老项目的用户中心模块,Controller 直接干到 847 行。打开文件那瞬间我以为是误点了 vendor 目录。更魔幻的是,里面混着参数校验、权限判断、积分计算、消息推送、第三方回调——甚至还有一段生成 PDF 的代码。当时就想给自己两拳:这哪是 MVC,这是"我全都要"大杂烩。 痛定思痛,我把这个项目按 7 22 259