• nodebuy
    彩虹聚合登录
    ID rainbow_login版本 1.0.2插件制作者 nodebuy免费491 行 / 29.1 KBHook / 路由 / 后台页
    支持使用 QQ、微信、支付宝等社交账号一键登录论坛,首次登录可自动创建账号,也能在个人资料中随时绑定或解除绑定。
    app/plugins/rainbow_login/plugin.php
    开发日志已有 2 条

    个人独立维护项目。

    • nodebuy
      nodebuy
      版本 1.0.2 ea7a0b16916c 更新:注意:需要填写接口地址,才能显示登录图标,测试接口地址:https://u.cccyun.cc/connect.phprelease
    • nodebuy
      nodebuy
      版本 1.0.1 3eff5855bb81 更新:## 1.0.1 — 2026-08-16 - 接口地址不再预填默认地址,改为留空由管理员自行填写;留空时插件视为未配置,前台不显示社交登录入口。 ## 1.0.0 — 2026-08-16 - 首个版本,按彩虹聚合登录接口规范(https://u.cccyun.cc/doc.php )对接,支持 QQ、微信、支付宝、微博、百度、华为、小米、抖音、哔哩哔哩、钉钉共 10 种登录方式。 - 登录页在
    主楼
  • 质量报告

    插件质量报告

    插件:rainbow_login

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    login.after_form登录表单后置区域否3----
    profile.after_form个人资料编辑表单否3---读 plugin_rainbow_login_binds

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    plugin_rainbow_login_binds

    字段类型可空默认值约束
    idid否-主键、自增
    user_iduint否-唯一
    platformkey否-唯一
    social_uidkey否-唯一
    nicknamestring否''-
    faceimgstring否''-
    created_atuint否--
    updated_atuint否0-
    #1
  • nodebuy

    版本 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 校验来源与登录方式,回调失败计入登录失败频率限制。
    #2
  • nodebuy

    截图
    Snipaste_2026-08-16_11-29-55.jpg

    最后由 nodebuy 编辑于 2026-08-16 17:30
    #3
  • nodebuy

    版本 1.0.2 更新:
    注意:需要填写接口地址,才能显示登录图标,测试接口地址:https://u.cccyun.cc/connect.php

    #4
  • 123456789

    彩虹登录收费的,对接有啥用

    #5
  • nodebuy

    源码是收费的,你可以对接别人搭建好的,有免费的

    #6
  • 123456789

    1

    #7
  • 350

    🔍 插件审查报告(对照《AI 开发规则》与开发者文档)

    🔒 安全问题

    1. 应用密钥经 URL 传递:plugin.php:122 把 appkey 拼进 GET 查询串,会随请求行写入访问日志,建议改用 POST 或确认接口是否支持更安全的传参方式。
    2. 自动注册未限流:plugin.php:213-234 直接 INSERT app_users,未走核心注册的 security.rate_allow('register') 限流,攻击者可能绕过同 IP 1 小时注册上限。建议注册前校验 register 桶并在成功后命中计数。
    3. 重定向目标未复核:plugin.php:123 依赖核心远程请求跟随重定向,但只校验初始接口主机,建议对重定向目标逐跳复核主机。

    ⚡ 性能问题

    未发现明显问题(外部请求已设超时与响应大小上限)。

    🐛 功能/规范缺陷

    1. plugin.php:220-226 在 tx() 内调用含 err()(直接 exit)的保存绑定函数,外层 catch 的竞态恢复可能失效,建议事务内改抛异常。
    2. plugin.php:293、381 写操作用 is_post_request() 而非 require_post()(全局 CSRF 已兜底,风险低),建议按规范统一为 require_post()。

    ✅ 修复优先级

    优先处理密钥传参与注册限流,其次复核重定向主机,再修事务内 err() 与 require_post 规范。

    #8
  • 399

    🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)

    插件:彩虹聚合登录(rainbow_login)v1.0.2

    结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。

    #9

发表回复

登录后回复