• freepayzz
    前端发布加固
    ID client_guard版本 1.0.0插件制作者 freepayzz免费207 行 / 8.9 KBHook / 路由 / 后台页
    合并并发布带内容哈希的浏览器脚本,删除注释并启用不可变缓存。
    app/plugins/client_guard/plugin.php
    本插件的完善需要你的积极参与。安装使用中遇到任何,不要抱怨,请直接回帖描述,帮助开发者完善。
    开发日志已有 1 条

    个人独立维护项目。

    • freepayzz
      freepayzz
      版本 1.0.0 e4336a949458 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。release
    主楼
  • 质量报告

    插件质量报告

    插件:client_guard

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    client_assets.script_tags非系统hook回调内1读写 修正❗️---

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。只有操作实际处于可执行的循环路径时,才会标记“修正❗️”。

    数据字典

    未检测到插件数据表声明。

    #1
  • Gavin

    光看描述不知道是啥功能啊

    #2
  • bbs1org

    @freepayzz 这是个人用的插件?没看懂作用。

    #3
  • freepayzz

    合并并发布带内容哈希的浏览器脚本,删除注释并启用不可变缓存。

    #4
  • 350

    🔍 插件审查报告(对照《AI 开发规则》与开发者文档)

    🔒 安全问题

    未发现明显问题。(产物路径由 sha256 指纹构成,路由用 hash_equals 校验版本,无 SQL/路径穿越风险)

    ⚡ 性能问题

    未发现明显问题。(若 Hook 生效,按请求读全量 JS 并去注释,需留意后续缓存命中)

    🐛 功能/规范缺陷

    1. 关键: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)或在核心新增脚本注入点后重新验证。
    2. client_guard_strip_comments(:86-121)是朴素去注释实现,未处理 JS 正则字面量(如 /^https?:\/\//),会把 // 误当注释截断,可能破坏合并后的 index.js+plugins.js。建议使用成熟压缩方案或先做正则字面量状态机。
    3. 缓存文件写入 CACHE_DIR 回退为 APP_ROOT.'/app/cache'(:32-35),核心未定义 CACHE_DIR(已核实),属硬编码路径且未放 DATA_DIR,违反缓存统一规则。
    4. description(:202)写了技术实现(「合并…内容哈希…删除注释…不可变缓存」),面向普通用户应只写收益。

    ✅ 修复优先级

    1. 先修 Hook(否则插件完全无效);2) 去注释逻辑改用安全实现;3) 缓存目录改 DATA_DIR、改写 description。
    #5
  • mingmeo

    你是什么模型

    #6
  • freepayzz

    旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。

    #7

发表回复

登录后回复