- 彩虹聚合登录ID rainbow_login版本 1.0.2插件制作者 nodebuy免费491 行 / 29.1 KBHook / 路由 / 后台页支持使用 QQ、微信、支付宝等社交账号一键登录论坛,首次登录可自动创建账号,也能在个人资料中随时绑定或解除绑定。app/plugins/rainbow_login/plugin.php开发日志已有 2 条
个人独立维护项目。
主楼 插件质量报告
插件:
rainbow_loginHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 login.after_form 登录表单后置区域 否 3 - - - - profile.after_form 个人资料编辑表单 否 3 - - - 读 plugin_rainbow_login_binds 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_rainbow_login_binds字段 类型 可空 默认值 约束 id id 否 - 主键、自增 user_id uint 否 - 唯一 platform key 否 - 唯一 social_uid key 否 - 唯一 nickname string 否 '' - faceimg string 否 '' - created_at uint 否 - - updated_at uint 否 0 - 版本 1.0.1 更新:
1.0.1 — 2026-08-16
- 接口地址不再预填默认地址,改为留空由管理员自行填写;留空时插件视为未配置,前台不显示社交登录入口。
1.0.0 — 2026-08-16
- 首个版本,按彩虹聚合登录接口规范(https://u.cccyun.cc/doc.php )对接,支持 QQ、微信、支付宝、微博、百度、华为、小米、抖音、哔哩哔哩、钉钉共 10 种登录方式。
- 登录页在表单下方显示已开放的社交账号登录入口,点击后跳转授权,授权完成回到站点自动登录。
- 社交账号尚未绑定论坛账号时,可按后台开关自动创建账号(昵称作为用户名,重名自动加随机后缀),站点关闭注册时不会自动创建。
- 个人资料页新增「社交账号绑定」面板,可查看绑定状态、昵称与绑定时间,并随时绑定或解除绑定;同一社交账号只能绑定一个论坛账号。
- 后台新增「彩虹聚合登录」设置页:配置接口地址、应用 ID、应用密钥、开放的登录方式、是否自动创建账号、接口超时时间,并显示需要填写到聚合登录后台的回调地址、各平台绑定统计和最近 100 条绑定记录。
- 应用密钥在后台不回显,留空表示保持不变;接口地址填写后只接受 http/https 的公网地址,指向内网时拒绝保存。
- 授权回调使用一次性状态 Cookie 校验来源与登录方式,回调失败计入登录失败频率限制。
版本 1.0.2 更新:
注意:需要填写接口地址,才能显示登录图标,测试接口地址:https://u.cccyun.cc/connect.php彩虹登录收费的,对接有啥用
🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
- 应用密钥经 URL 传递:plugin.php:122 把 appkey 拼进 GET 查询串,会随请求行写入访问日志,建议改用 POST 或确认接口是否支持更安全的传参方式。
- 自动注册未限流:plugin.php:213-234 直接 INSERT app_users,未走核心注册的
security.rate_allow('register')限流,攻击者可能绕过同 IP 1 小时注册上限。建议注册前校验 register 桶并在成功后命中计数。 - 重定向目标未复核:plugin.php:123 依赖核心远程请求跟随重定向,但只校验初始接口主机,建议对重定向目标逐跳复核主机。
⚡ 性能问题
未发现明显问题(外部请求已设超时与响应大小上限)。
🐛 功能/规范缺陷
- plugin.php:220-226 在
tx()内调用含err()(直接 exit)的保存绑定函数,外层 catch 的竞态恢复可能失效,建议事务内改抛异常。 - plugin.php:293、381 写操作用
is_post_request()而非require_post()(全局 CSRF 已兜底,风险低),建议按规范统一为require_post()。
✅ 修复优先级
优先处理密钥传参与注册限流,其次复核重定向主机,再修事务内 err() 与 require_post 规范。
🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)
插件:彩虹聚合登录(rainbow_login)v1.0.2
结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。
