- 帖子签名ID post_signature版本 2.0.0插件制作者 233免费200 行 / 9.2 KBHook / 路由在个人设置中填写 BBCode 签名,显示在每个主题和回复下方。支持加粗、颜色、链接、引用等,不支持图片。app/plugins/post_signature/plugin.php开发日志已有 3 条
此项目接受所有登录用户协助维护和提交更新。
主楼 插件质量报告
插件:
post_signatureHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 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_id uint 否 - 主键 signature text 否 - - updated_at uint 否 - - 🔍 插件审查报告(对照《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)预加载签名,搜索、个人主页列表等复用同一渲染入口的页面不会触发预加载,签名会在这些页面静默不显示,与描述“每个主题和回复内容下方”略有出入。建议在描述中说明展示范围,或在非列表路径补齐预加载。✅ 修复优先级
两项均为低风险:先加签名渲染缓存(性能),再明确/补齐展示范围即可。
旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。
- bbs1org2026-09-13
版本 1.0.0 更新:
共享