当前位置: 首页> 教育> 大学 > 人机验证问题库

人机验证问题库

时间:2025/7/12 9:38:30来源:https://blog.csdn.net/xuanyuanjiaqi/article/details/139475417 浏览次数:0次

当然可以。下面是一个生成问题库的示例,其中包括多种类型的问题和选项,以便用来进行人机验证。

问题库示例

const questions = [{question: '请选择所有水果',options: [{ id: 1, text: '苹果', isCorrect: true },{ id: 2, text: '香蕉', isCorrect: true },{ id: 3, text: '汽车', isCorrect: false },{ id: 4, text: '猫', isCorrect: false },{ id: 5, text: '草莓', isCorrect: true },{ id: 6, text: '大象', isCorrect: false },]},{question: '请选择所有动物',options: [{ id: 1, text: '苹果', isCorrect: false },{ id: 2, text: '香蕉', isCorrect: false },{ id: 3, text: '汽车', isCorrect: false },{ id: 4, text: '猫', isCorrect: true },{ id: 5, text: '草莓', isCorrect: false },{ id: 6, text: '大象', isCorrect: true },]},{question: '请选择所有交通工具',options: [{ id: 1, text: '苹果', isCorrect: false },{ id: 2, text: '香蕉', isCorrect: false },{ id: 3, text: '汽车', isCorrect: true },{ id: 4, text: '猫', isCorrect: false },{ id: 5, text: '草莓', isCorrect: false },{ id: 6, text: '自行车', isCorrect: true },]},{question: '请选择所有蔬菜',options: [{ id: 1, text: '西红柿', isCorrect: true },{ id: 2, text: '香蕉', isCorrect: false },{ id: 3, text: '土豆', isCorrect: true },{ id: 4, text: '猫', isCorrect: false },{ id: 5, text: '草莓', isCorrect: false },{ id: 6, text: '胡萝卜', isCorrect: true },]},{question: '请选择所有颜色',options: [{ id: 1, text: '红色', isCorrect: true },{ id: 2, text: '香蕉', isCorrect: false },{ id: 3, text: '蓝色', isCorrect: true },{ id: 4, text: '猫', isCorrect: false },{ id: 5, text: '绿色', isCorrect: true },{ id: 6, text: '大象', isCorrect: false },]},{question: '请选择所有家用电器',options: [{ id: 1, text: '电视', isCorrect: true },{ id: 2, text: '冰箱', isCorrect: true },{ id: 3, text: '汽车', isCorrect: false },{ id: 4, text: '洗衣机', isCorrect: true },{ id: 5, text: '草莓', isCorrect: false },{ id: 6, text: '手机', isCorrect: true },]}
];module.exports = questions;

说明

  • 每个问题都有一个 question 字段,表示问题的文本内容。
  • 每个问题都有一个 options 字段,表示选项的数组,每个选项包含一个 idtextisCorrect 字段。
    • id 是选项的唯一标识符。
    • text 是选项的文本内容。
    • isCorrect 是一个布尔值,表示该选项是否是正确答案。

如何使用

你可以将问题库保存为一个 JavaScript 文件(例如 questions.js),然后在你的 Express 应用中引用和使用:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
const questions = require('./questions'); // 引入问题库app.use(bodyParser.json());app.get('/captcha-question', (req, res) => {const randomIndex = Math.floor(Math.random() * questions.length);res.json(questions[randomIndex]);
});app.post('/verify-captcha', (req, res) => {const { question, selectedOptions } = req.body;const correctQuestion = questions.find(q => q.question === question);if (!correctQuestion) {return res.status(400).json({ success: false, message: '无效的问题' });}const correctOptions = correctQuestion.options.filter(option => option.isCorrect).map(option => option.text);if (selectedOptions.length !== correctOptions.length) {return res.json({ success: false, message: '验证失败' });}const isCorrect = selectedOptions.every(option => correctOptions.includes(option));if (isCorrect) {res.json({ success: true });} else {res.json({ success: false, message: '验证失败' });}
});app.listen(port, () => {console.log(`Server is running at http://localhost:${port}`);
});

这样,你就可以在你的 Express 应用中动态生成问题,并进行后端验证。

关键字:人机验证问题库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: