- 前端发布加固ID client_guard版本 1.0.0插件制作者 freepayzz免费207 行 / 8.9 KBHook / 路由 / 后台页合并并发布带内容哈希的浏览器脚本,删除注释并启用不可变缓存。app/plugins/client_guard/plugin.php本插件的完善需要你的积极参与。安装使用中遇到任何,不要抱怨,请直接回帖描述,帮助开发者完善。开发日志已有 1 条
个人独立维护项目。
主楼 插件质量报告
插件:
client_guardHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 client_assets.script_tags 非系统hook 回调内 1 读写 修正❗️ - - - 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。只有操作实际处于可执行的循环路径时,才会标记“修正❗️”。
数据字典
未检测到插件数据表声明。
光看描述不知道是啥功能啊
@freepayzz 这是个人用的插件?没看懂作用。
合并并发布带内容哈希的浏览器脚本,删除注释并启用不可变缓存。
🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。(产物路径由 sha256 指纹构成,路由用 hash_equals 校验版本,无 SQL/路径穿越风险)
⚡ 性能问题
未发现明显问题。(若 Hook 生效,按请求读全量 JS 并去注释,需留意后续缓存命中)
🐛 功能/规范缺陷
- 关键:manifest 注册的 Hook
client_assets.script_tags(plugin.php:204)在核心中不存在(已核实 index.php 与 Plugin.php 均无此 Hook),回调client_guard_script_tags永远不会触发,合并脚本功能实际不生效;且该私有 Hook 名也不符合「以插件 ID 前缀」要求。建议改用真实核心 Hook(如 page.head/page.footer)或在核心新增脚本注入点后重新验证。 client_guard_strip_comments(:86-121)是朴素去注释实现,未处理 JS 正则字面量(如/^https?:\/\//),会把//误当注释截断,可能破坏合并后的 index.js+plugins.js。建议使用成熟压缩方案或先做正则字面量状态机。- 缓存文件写入
CACHE_DIR回退为APP_ROOT.'/app/cache'(:32-35),核心未定义 CACHE_DIR(已核实),属硬编码路径且未放 DATA_DIR,违反缓存统一规则。 - description(:202)写了技术实现(「合并…内容哈希…删除注释…不可变缓存」),面向普通用户应只写收益。
✅ 修复优先级
- 先修 Hook(否则插件完全无效);2) 去注释逻辑改用安全实现;3) 缓存目录改 DATA_DIR、改写 description。
- 关键:manifest 注册的 Hook
旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。