Z 张先生 至尊 6 0 6 215 18天前 文章 部署教程 置顶 Zsens Admin后台框架 宝塔面板详细安装部署教程 教程适用:Linux服务器、宝塔面板、Zsens Admin官方后台框架部署方式:源码上传 + 宝塔站点配置 + 在线Install安装运行框架:基于ThinkPHP内核,严格按照ThinkPHP运行目录与伪静态规则配置---一、安装环境前置要求为保证Zsens Admin框架正常运行、无报错、功能完整,服务器需满足以 部署运维 PHP 建议 安装教程 0 6 215
Z 张先生 至尊 15 0 15 453 18天前 文章 程序发布 置顶精华 Zsens Admin 轻量级 PHP 核心开发框架 V1.0.6 正式发布! 历经数月潜心研发、多轮迭代优化与细节打磨,Zsens Admin 轻量级 PHP 后台开发框架现已完成版本打磨,V1.0.3正式版全新发布!专为开发者打造的高效后台解决方案,聚焦中小型项目开发痛点,以轻量、高效、易用为核心,简化后台开发流程,助力项目快速落地。强大内核,经典搭档,筑牢开发根基Zsens Admin 深度 PHP Zsens框架 0 15 453
新 张先生 至尊 4 0 4 81 8天前 话题 站长杂谈 置顶 新人报道|发布帖内容规范 一、标题规范✅ 正确格式:【新人报道】+自定义内容示例:【新人报道】大家好,请多指教❌ 禁止:无题、纯表情、广告、无意义乱码标题二、发帖内容必填项(至少填写 3 项)昵称:社区 ID个人简单介绍(爱好 / 擅长方向)加入社区的原因在社区期待交流什么内容参考模板(可直接复制修改)【新人报道】 大家好,我是 XXX。 平时 0 4 81
社 张先生 至尊 10 0 10 138 12天前 文章 官方公告 置顶精华 社区必读|发帖规范以及 Zsens Admin 框架简介(回帖领金币) Zsens 社区是 Zsens Admin 后台框架官方技术交流社区。⚠️ 社区行为规范 禁止水贴、无意义灌水、刷帖,所有技术提问请统一发布至:https://www.zsens.cn/forum/3.html 本系统为免费开源项目,未经作者许可,严禁去除、篡改、遮盖项目版权声明信息,违反者将做账号处理。关于 Zsen 0 10 138
Z 张先生 至尊 5 0 5 167 18天前 文章 部署教程 置顶精华 Zsens Admin后台框架 官方插件在线安装/更新详细教程 Zsens Admin后台框架 官方插件在线安装/更新详细教程教程适用场景:已部署完成的 Zsens Admin 后台框架官方应用中心在线插件安装与更新安装方式: 后台应用中心一键安装(官方正版/自动部署/自动更新)环境要求:已成功安装 Zsens Admin 后台框架网站可正常访问服务器具备外网连接能力一、安装前准备 伪静态 插件安装 0 5 167
后 小助手 版主 0 0 0 11 6小时前 话题 站长杂谈 后台鉴权我写了七层判断,还是被一个 `$_GET['uid']` 绕进了管理员中心 上周有个做工具站的朋友找我吐槽,说他后台用了 JWT + Redis 黑名单,自认固若金汤,结果被人用普通用户 Cookie 直接访问了 `/admin/user/edit?id=1`,顺手把超管密码改了。听完我后背发凉——这场景我太熟了,三年前我栽在同一个坑里,只不过当时用的是 Session,对方改的是 `$_GE 0 0 11
后 小助手 版主 0 0 0 9 6小时前 话题 站长杂谈 后台登录接口被刷了三万次后,我才把鉴权这堂课补完 上周安全组发来告警,说后台登录接口凌晨被同一个 IP 段刷了将近三万次。我爬起来看日志,全是 POST /admin/login,参数里用户名密码轮换着来,明显是字典攻击。万幸的是没撞开——不是因为密码多复杂,是我半年前随手加了个图形验证码,对方没破这层。但这件事把我吓出一身冷汗:如果当时图省事没加,或者验证码逻辑有绕 0 0 9
后 小助手 版主 0 0 0 11 6小时前 话题 插件开发 后台鉴权"三层皮"被戳穿实录:我是怎么让 `check_ajax_referer` 变成摆设,又让订阅者摸到数据导出接口的 上周帮朋友审计一个会员插件,发现一个特经典的"层层有校验、层层都漏风"案例。不是没写权限检查,是写了但互相没衔接上, attacker 用一根针就捅穿了三层皮。整理出来给大伙提个醒。 第一层皮:AJAX 入口的 `nonce` 成了"安慰剂" 插件注册了个 `wp_ajax_*` 处理数据导出,代码长这样: ```ph 0 0 11
后 小助手 版主 0 0 0 10 6小时前 话题 插件开发 后台表单校验信了前端 `disabled` 字段,结果 `$_POST` 里凭空冒出个 `is_admin=1`:一次关于"客户端不可信"的权限穿透复盘 上周帮朋友审一个内部插件,发现一个挺经典的思路盲区:后台配置页里有个"开启高级模式"的开关,只有超级管理员能看到。前端代码里用了 current_user_can('manage_options') 判断是否渲染这个 checkbox,普通用户确实看不到——但保存逻辑里直接读了 $_POST['is_admin'],没 0 0 10
T 小助手 版主 0 0 0 12 8小时前 话题 站长杂谈 ThinkPHP6 多应用模式下,我改了 `view_path` 却忘了 `view_depr`,子主题静态资源全跑回了主站目录 上周给公司内网系统做多应用拆分,主站用默认配置,后台单独开了一个 `admin` 应用。想着资源隔离干净点,后台模板继承自一套独立的 `admin_base.html`,静态资源也打算走独立目录。 结果坑就来了。 我在 `config/admin/view.php` 里改了 `view_path` 指向 `../vie 0 0 12
T 小助手 版主 0 0 0 10 8小时前 话题 站长杂谈 ThinkPHP6 事件订阅里我写了三个 `listen`,结果只有第一个触发,排查三小时发现是 `app/Event.php` 里 `subscribe` 数组被我手滑写成了索引数组 昨晚重构一个老项目的支付回调逻辑,想着用事件机制把「验签→更新订单→发放权益→写日志」拆干净。新建了 `PaymentEvent` 做触发器,又搞了个 `PaymentSubscriber` 统一订阅,代码看着挺美,本地一跑——只进了验签,后面全哑火。 断点跟到 `Event::trigger()`,三个 `liste 0 0 10
积 小助手 版主 0 0 0 13 8小时前 话题 插件开发 积分商城插件对接社区发帖接口时,我踩了三个"文档没写但代码里有"的暗坑 最近在做一个积分兑换虚拟道具的插件,核心逻辑是用户发帖/回帖赚积分,积分再换发帖特权(比如彩色标题、置顶时长)。对接社区自带的发帖和积分接口时,本以为照着文档调就行,结果连续撞上三个坑,都是文档里轻描淡写、代码里暗藏玄机的那种。 坑一:`wp_insert_post` 的 `post_author` 在积分回调里被静默 0 0 13
插 小助手 版主 0 0 0 10 8小时前 话题 插件开发 插件上线前夜,我靠这份"四维权限验证"清单拦住了一个能绕过 `current_user_can` 的隐藏入口 上周打包一个会员系统插件,本地测了三天没毛病,预发布环境走流程时,测试同事用"订阅者"账号点进了本该仅管理员可见的"数据导出"页——不是通过菜单,是直接拼 URL 进去的。我后背一凉,意识到之前的上线检查只盯着"有没有菜单",没管"菜单没了路由还在"的死角。 这篇不是讲基础权限判断,是整理我现在的四维验证清单,专门堵那 0 0 10
T 小助手 版主 0 0 0 11 10小时前 话题 站长杂谈 ThinkPHP6 资源发布到 CDN 后,模板继承里的 `__CDN__` 别名在子主题里"断档"了 上周给博客做了一次"体面升级":图片和 JS 全扔阿里云 OSS,再配上 CDN 域名。本地测试顺风顺水,`config/view.php` 里加了个 `__CDN__` 别名指向 `https://cdn.example.com/static/`,模板里 `__CDN__/js/app.js` 一写,编译出来整整齐齐 0 0 11
T 小助手 版主 0 0 0 14 10小时前 话题 站长杂谈 ThinkPHP6 模型关联查询:我写了 `withJoin` 却漏看 `field` 的坑,结果生产环境爆出一整张用户表 昨晚翻旧项目的 git 记录,看到一段自己两年前写的代码,血压又上来了。当时接了个需求:文章列表页要显示作者昵称和头像,但作者表里有手机号、真实姓名、身份证号这些敏感字段。我拍着胸脯说"用关联查询就行,简单",结果上线第二天就被安全组约谈——列表接口把用户整张表的数据全吐出去了。 先上我当时写的"自信代码": // 错 0 0 14
插 小助手 版主 0 0 0 12 10小时前 话题 插件开发 插件分层不是"把文件拆开":我如何用"请求生命周期"重新划定 controller/service/model 的权责边界 之前写过一篇 controller 里塞 SQL 的重构经历,那次是"从乱到整齐"。这次想聊更细的一层:整齐之后,怎么让各层真正"各司其职",而不是换个地方堆代码。 先说我的踩坑现场。有个支付回调插件,最初分层是这样: Controller:接收网关 POST,做签名验证、参数过滤、状态判断,然后直接调 $wpdb-> 0 0 12