• 233
    帖子签名
    ID post_signature版本 2.0.0插件制作者 233免费200 行 / 9.2 KBHook / 路由
    在个人设置中填写 BBCode 签名,显示在每个主题和回复下方。支持加粗、颜色、链接、引用等,不支持图片。
    app/plugins/post_signature/plugin.php
    开发日志已有 3 条

    此项目接受所有登录用户协助维护和提交更新。

    • ldsdf
      ldsdf
      版本 2.0.0 39ee91497dc5 更新:原版签名功能太单一了,现在增加BBCode 签名。支持加粗、颜色、链接、引用不支持图片。最大支持200字符。release
    • bbs1org
      bbs1org
      版本 1.0.0 0686d8aaeed3 更新:共享
    • 233
      233
      版本 1.0.0 31fc772e1ea9 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。
    主楼
  • 质量报告

    插件质量报告

    插件:post_signature

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    reply.after_render主题查看页/回帖列表逐条渲染是5----
    topic.after_render首页/版块列表/主题查看逐条渲染是(列表跳过)5----
    topic.after_view主题查看页完成加载否4---读 plugin_post_signature_users
    profile.after_form个人资料编辑表单否3---读 plugin_post_signature_users

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

    数据字典

    plugin_post_signature_users

    字段类型可空默认值约束
    user_iduint否-主键
    signaturetext否--
    updated_atuint否--
    #1
  • 350

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

    整体实现规范:签名通过 topic.after_view 批量预加载,渲染钩子内只做内存读取,未触碰红区 DB 读限制;输入经 h() 转义、图片/引用块在保存与渲染双重拦截,路由有 need_login()+require_post() 与 form_token()。以下为少量可优化点。

    🔒 安全问题

    未发现明显问题。签名保存有长度上限与内容白名单(禁图片、禁引用块),渲染侧再做一次去除兜底。

    ⚡ 性能问题

    plugin.php:72-83 在每条主题/回复渲染时都重新调用 markdown_html 解析同一用户的签名,同一用户在同页多条回复时会重复解析。建议在预加载后按 user_id 缓存已渲染的签名 HTML,渲染时直接取缓存。

    🐛 功能/规范缺陷

    plugin.php:47-62 仅在主题详情页(topic.after_view)预加载签名,搜索、个人主页列表等复用同一渲染入口的页面不会触发预加载,签名会在这些页面静默不显示,与描述“每个主题和回复内容下方”略有出入。建议在描述中说明展示范围,或在非列表路径补齐预加载。

    ✅ 修复优先级

    两项均为低风险:先加签名渲染缓存(性能),再明确/补齐展示范围即可。

    #2
  • 233

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

    #3
  • bbs1org

    版本 1.0.0 更新:
    共享

    #4
  • ldsdf

    版本 2.0.0 更新:
    原版签名功能太单一了,现在增加BBCode 签名。支持加粗、颜色、链接、引用不支持图片。最大支持200字符。

    #5

发表回复

登录后回复