插件质量报告
插件:
link_disclosureHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 reply.after_render 主题查看页/回帖列表逐条渲染 是 5 - - - - topic.after_render 首页/版块列表/主题查看逐条渲染 是(列表跳过) 5 - - - - topic.after_view 主题查看页完成加载 否 4 - - - 读 plugin_link_disclosure_reasons reply.after_save 回帖保存后 否 3 - - app_users 写 plugin_link_disclosure_reasons reply.before_save 回帖发布/编辑表单提交 否 3 - - - - topic.after_save 主题保存后 否 3 - - app_users 写 plugin_link_disclosure_reasons topic.before_save 主题发布/编辑表单提交 否 3 - - - - content.before_delete 内容删除操作 否 2 - - app_replies 写 plugin_link_disclosure_reasons reply.form_extra 回帖编辑表单 否 2 - - - 读 plugin_link_disclosure_reasons topic.form_extra 主题发布/编辑表单 否 2 - - - 读 plugin_link_disclosure_reasons 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_link_disclosure_reasons字段 类型 可空 默认值 约束 content_kind key 否 - 主键 content_id uint 否 - 主键 user_id uint 否 - - reason string 否 - - hosts string 否 '' - updated_at uint 否 - - 感谢大佬,外链安全标识 可以在后台设置白名单吗?白名单链接可以直接跳转不用在新窗口打开。
🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。外链提取仅匹配 http/https/www,输出全部经
h()转义;黑名单域名与子域名匹配;通知用户查询用sql_marks参数化;content.before_delete清理含回帖子查询且参数化。⚡ 性能问题
未发现明显问题。
topic.after_view一次性批量预载外链说明,topic/reply.after_render红区钩子仅读内存缓存,零 DB 读;后台列表单查询 + LIMIT 200。🐛 功能/规范缺陷
- 黑名单与通知配置用
setting()/save_settings_values()存全局设置(plugin.php:60、137、248、270),且卸载未清理这些plugin_link_disclosure_*键。建议改用plugin_config()/plugin_save_config(),并在uninstall中一并清理。
✅ 修复优先级
仅配置存储规范化一项,低优先级。
- 黑名单与通知配置用
🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)
插件:外链用途说明(link_disclosure)v1.1.1
结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。
旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。