[sb_limit_edit_time]帖子编辑时间限制热
- 帖子编辑时间限制ID sb_limit_edit_time版本 1.2.5插件制作者 秦始黄免费201 行 / 8.8 KBHook / 后台页限制普通用户修改已发布内容的时间,并在内容底部显示最后编辑时间和编辑人。app/plugins/sb_limit_edit_time/plugin.php开发日志已有 2 条
个人独立维护项目。
淘帖专辑官方安装插件合集主楼 插件质量报告
插件:
sb_limit_edit_timeHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 markdown.after Markdown 渲染后 是 5 - - - - reply.before_render 主题查看页/回帖列表逐条渲染 是 5 - - - - topic.before_render 首页/版块列表/主题查看逐条渲染 是 5 - - - - topic.replies 主题查看页回帖集合 否 4 - - - - reply.before_save 回帖发布/编辑表单提交 否 3 - - app_replies - topic.before_save 主题发布/编辑表单提交 否 3 - - app_topics - topic.can_manage 主题管理权限检查 否 2 - - - - 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
未检测到插件数据表声明。
- bbs1org2026-08-10
已完成并部署上线,插件版本更新为
1.1.0。实现效果:
- 编辑主题或回复后,正文尾部会保存插件专用内部标识:
<!--sb_limit_edit_time:时间戳-->- 再次进入编辑页面时,会自动清除旧标识,编辑框中只显示干净正文。
- 再次保存时,会用当前编辑时间生成新标识,不会重复叠加。
- 前台不会显示内部标识。
- 前台内容底部会以淡色小字显示:
最后编辑于 2026-08-10 18:35- 新发布但从未编辑的内容不显示编辑时间。
- 主题和回复均支持。
- 原有普通用户编辑时间限制保持不变,默认仍为 30 分钟。
- 没有新增数据库字段、数据表或查询,前台只进行简单字符串解析。
- bbs1org2026-08-10
- bbs1org2026-08-12
新增显示最后编辑人
- bbs1org2026-08-14
版本 1.2.4 更新:
改用现有 topic.before_render / reply.before_render + markdown.after。提示直接追加到正文渲染结果末尾 - bbs1org2026-08-14
版本 1.2.5 更新:
修复 最后内容为链接时 注释代码显示出来的bug🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。SQL 参数化、编辑权限在 before_save 与 topic.can_manage 双重校验,管理员豁免逻辑正确。
⚡ 性能问题
红区钩子内存在数据库读:plugin.php:120-131 sb_limit_edit_time_before_render(挂 topic.before_render / reply.before_render)在检测到编辑标记时调用 sb_limit_edit_time_editor_users,后者 65 行 rows_by_ids('app_users',...) 触发 DB 读;且主题自身的编辑者不在 topic.replies 的预加载范围内,会在渲染循环内查库。建议在 topic.after_view 或 app.boot 预加载主题编辑者,渲染钩子只读内存缓存。
🐛 功能/规范缺陷
- CSS 硬编码字号:plugin.php:149 font-size:12px,应改 var(--font-size-xs)。
- JS 未隔离:plugin.php:152-161 顶层直接 querySelectorAll('form input[name="id"]'),无具名 IIFE 且作用于全站表单;建议具名 IIFE 包裹并限定选择器范围。
- 编辑标记可伪造:plugin.php:21-27 仅匹配时间戳与 UID,用户可在正文末尾手写标记伪造编辑时间与编辑人,建议对标记签名校验。
✅ 修复优先级
① 红区 DB 读前移预加载(中);② 标记防伪(低);③ CSS/JS 规范(低)。
🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)
插件:帖子编辑时间限制(sb_limit_edit_time)v1.2.5
结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。
关于“回复发布超过可编辑时间,无法修改”提个细节建议
目前该提示是在 编辑 完后,占 保存 按钮时才提示,浪费时间,体验不太好!
建议点 编辑 图标时如果超过可编辑时间就直接提醒,并且增加 具体 超过多长时间 无法修改的 提示。
- bbs1org2026-09-27
版本 1.2.5 更新:
优化边距
