答题注册

答题注册安全防护

版本 v1.0.00· 胡思乱想 · 0 次获取 · 安全防护
答题注册插件在用户注册前设置一道「答题关卡」。用户必须先完成全部题目并通过后台设定的得分率,才能进入注册页面;管理员可通过「土豪通道」让不愿答题的用户付费跳过。
¥0.50抵扣
一次购买,永久使用

详情介绍

答题注册插件 (QaqReg)

作者: kuakeba.cn
版本: 1.0.00
答题页: /qaqreg/gate


插件简介

答题注册插件在用户注册前设置一道「答题关卡」。用户必须先完成全部题目并通过后台设定的得分率,才能进入注册页面;管理员可通过「土豪通道」让不愿答题的用户付费跳过。

核心特性

  • 强制答题门 — 未通过答题时,访问注册页会被自动跳转到答题页,直接提交注册请求也会被拦截
  • 得分率后台控制 — 及格线按百分比设置(如 60 表示答对 60% 即通过)
  • 默认 10 道题 — 安装即用,无需先建题库
  • 题目管理 — 后台可新增 / 编辑 / 启用停用 / 排序 / 删除
  • TXT 批量导入 — 按固定格式写好 txt 文件即可一次性导入多道题
  • 土豪通道 — 支付后台设定金额即可跳过答题直接注册
  • 防作弊 — 题目接口不下发答案;每轮答题只判分一次,答案快照存在服务端
  • 通行证机制 — 通过后签发一次性通行证,注册成功后立即作废,超时需重新答题


安装与启用

  1. 后台 → 插件管理 → 找到「答题注册」→ 点击安装
  2. 安装时自动创建数据表、写入 10 道默认题目、注册后台菜单
  3. 安装后默认已启用,如需关闭可在「答题设置」中关闭开关
  4. 后台菜单出现在左侧答题注册一级菜单下:答题设置 / 题目管理 / 通过记录
本插件依赖社区(community)插件的注册流程;若站点未启用社区注册,答题门不会生效。


前台使用流程

访客点击「注册」
      ↓
跳转答题页 /qaqreg/gate
      ↓
答完所有题目 → 提交判分
      ↓
得分率达标? ── 否 ──→ 提示得分率,自动换一套题重新作答
      ↓ 是
签发通行证(默认 30 分钟有效)
      ↓
跳转 注册页?qaq_token=xxx(注册弹窗)
      ↓
填写资料提交 → 注册成功(通行证立即作废)

土豪通道分支:在答题页点击「土豪通道 · 支付 X 元免答题」→ 创建订单 → 完成支付 → 自动签发通行证并跳转注册。支付订单每笔只能签发一次通行证。



后台设置说明

路径:后台 → 答题注册 → 答题设置

配置项默认值说明
启用答题注册开关闭后恢复系统原生注册流程,不拦截任何请求
及格得分率(%)60答对比例达到该值才算通过,取值 1-100
每次出题数量00 表示使用全部启用题目;大于 0 时从题库随机抽取指定数量
通行证有效期(分钟)30答题通过后需在该时间内完成注册,超时需重新答题
启用土豪通道开关闭后答题页不显示付费跳过入口
土豪通道金额(元)9.90支付该金额后免答题直接进入注册,需大于 0
修改设置后建议清理一次站点缓存。


题目管理

路径:后台 → 答题注册 → 题目管理

  • 新增题目:填写题干、A~D 四个选项、正确答案、排序、状态
  • 排序:数字越小越靠前;「每次出题数量」为 0 时按此顺序出题
  • 状态:停用的题目不会出现在答题页
  • 搜索:支持按题干关键词与状态筛选

TXT 批量导入格式

每道题之间用空行分隔,每道题依次为:题干、A~D 选项、答案。

中国的首都是哪里?
A. 上海
B. 北京
C. 广州
D. 深圳
答案:B

一年有多少个月?
A. 10个月
B. 11个月
C. 12个月
D. 13个月
答案:C

格式说明:

  • 选项支持 A. xxx、A、xxx、A:xxx 三种写法
  • 答案支持 答案:A / 答案:A(全角半角冒号均可)
  • 文件编码支持 UTF-8 与 GBK(自动识别)
  • 也可以在弹窗中直接粘贴文本导入,无需上传文件
  • 解析失败的行会被跳过,导入完成后会提示成功数量


数据表

表名用途
qaqreg_question题库(题干、四个选项、正确答案、状态、排序)
qaqreg_pass通行证记录(token、类型 quiz/skip、IP、订单号、得分率、是否已用、过期时间)

「通过记录」页可查看全部通行证签发情况,包括类型、得分率、订单号、使用状态,并支持删除记录。



土豪通道说明

  • 需先安装并启用支付插件,否则答题页会提示「支付插件不可用」
  • 金额与开关在「答题设置」中配置
  • 支付渠道沿用支付插件当前配置;支付插件处于沙箱模式时,答题页会显示「模拟支付」按钮,便于测试
  • 支付成功后凭证与订单绑定,刷新答题页会自动恢复未完成的订单轮询
  • 每个订单只能签发一次通行证;通行证已使用或已过期时需重新下单


常见问题

Q:启用后访问注册页一直跳转到答题页?

A:这是正常拦截。完成答题(或走土豪通道)后会携带 qaq_token 参数回到注册页。

Q:答题通过后注册时提示「请先完成答题验证」?

A:通行证可能已超时(默认 30 分钟)或已被使用。请重新答题;如一题都提交不成功,请检查题库是否有启用状态的题目。

Q:修改了题库但答题页还是旧题?

A:答题页每次进入都会重新拉取题目,刷新页面即可;若仍不生效,清理站点缓存。

Q:能否只拦截注册页,不影响第三方登录自动注册?

A:本插件只拦截标准注册流程(GET 注册页 + POST 注册提交);第三方 OAuth / 短信快捷注册不在此拦截范围内。

Q:卸载插件会删除数据吗?

A:卸载会移除后台菜单与权限节点,业务数据表默认保留(题库与通行证记录不会被删除)。



文件结构

plugins/QaqReg/
├── plugin.json                 插件元信息
├── icon.svg                    插件图标
├── install.sql                 数据表结构
├── routes.php                  前台 / 后台路由
├── QaqregPlugin.php            主类(配置、安装、菜单、前台钩子)
├── middleware/Gate.php         注册门岗中间件
├── controller/
│   ├── Gate.php                答题页与 API
│   └── admin/                  设置 / 题目 / 通过记录
└── view/
    ├── front/gate.html         答题页模板
    └── admin/                  后台视图


更新记录 (1)

  • v1.0.00 2026-10-31
    正式发布
微信客服 微信客服 QQ官方交流群 QQ官方交流群