[floating_notice]悬浮通知热
插件质量报告
插件:
floating_noticeHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 page.footer 全站页面页脚 否 5 - - - 读 plugin_floating_notice_items 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_floating_notice_items字段 类型 可空 默认值 约束 id id 否 - 主键、自增 notice_type string 否 'info' - title string 否 '' - body text 否 - - is_enabled INTEGER 否 1 - sort_order uint 否 0 - content_version uint 否 1 - created_at uint 否 - - updated_at uint 否 - - - bbs1org2026-08-13
@Anonymous 几点建议:没有通知的时候,隐藏铃铛;弹窗样式UI可以更精致点;里面的文字不要居中,支持markdown解析。
- 92026-08-13
会玩
不错 继续完善 做好了我来安装
v1.0.1: 支持通知铃铛拖动贴边
- bbs1org2026-08-13
🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。后台入口
need_admin()+ 写操作require_post()/form_token()齐全(plugin.php:285-288);所有 SQL 均参数化,IN 列表用sql_marks()(451、456、570);输出统一h()转义,JSON 用JSON_HEX_*注入 data-* 属性(250-260);前端 Markdown 用 createTextNode/textContent 构造 DOM,链接做协议白名单(1342-1351),无 XSS 注入面;Cookie 命名空间用hash_equals校验(168)。无文件上传、无外部请求、无硬编码凭据。⚡ 性能问题
低(可选优化):
page.footer钩子每次前台请求执行一次q()读取公告(194-199),LIMIT 很小且不在红区钩子内,开销可控;高并发站点可加请求级缓存或先按配置判断再查询,非必须。🐛 功能/规范缺陷
未发现明显问题。红区钩子未使用;事务内无嵌套事务(518-525、551-573);
app_db_create_table/ensure_columns/create_index幂等;表名、索引名、常量、Cookie 键、CSS/JS 均带floating_notice_前缀;tx()内 CASE 排序参数化(564-572);配置集中归一化并处理空配置/非法值(132-151);app_db_last_insert_id正确使用(524)。✅ 修复优先级
无必须修复项;唯一低优建议是页脚查询按需加请求级缓存。
🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)
插件:悬浮通知(floating_notice)v1.0.1
结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。
旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。

