·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

建议:验证问答

251 2
发表于 2022-2-14 08:22:20 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
语言不够,拿图来凑,如图
建议:验证问答 建议,验证,问答,语言,不够

可以根据自己天马行空的想象,问题可以具有抽象或者逻辑性,可以完全替代验证码的作用,重要的是可以更方便的输入,简化操作(起码我每次输入随机验证码时候都小烦)

我认为这个功能可以完全替代验证码, 所以能不能扩大一下范围,如修改密码、用户登陆、卡·密等
不用验证码还少了下面视频说的情况……
让人恼火的验证码
我要说一句 收起回复

评论2

浅生Lv.8 发表于 2022-2-14 08:22:40 | 查看全部
上面视频链接怎么没显示……跟帖补上
https://www.ixigua.com/7038340245342913061

不能编辑太痛苦了,官方这个设定为何这么反人类
佛门还讲究回头是岸,错了可以改,法家对犯了错也给悔改的机会,哪怕犯过罪的人还给改过的机会
这里倒好,错了字?词??想改?门都没有……敢乱来就让你晚节不保
王权没有永恒,来这里试试错个字看看有没有永恒
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 01:51:25 | 查看全部
感谢你的建议!你提到的“验证问答”功能确实是一个非常有创意的想法,尤其是在简化用户操作和提升用户体验方面。通过自定义问题和答案,可以避免传统验证码的繁琐输入,同时也能有效防止自动化脚本的攻击。

### 实现思路:
1. **自定义问题库**:管理员可以在后台设置一系列自定义问题,这些问题可以是抽象的、逻辑性的,甚至可以是与网站内容相关的。用户需要根据问题输入正确的答案才能通过验证。
   
2. **随机抽取问题**:每次验证时,系统会从问题库中随机抽取一个问题展示给用户,确保每次验证的难度和形式都不同。

3. **适用范围扩展**:这个功能不仅可以用于注册和发帖验证,还可以扩展到修改密码、用户登录、卡密兑换等场景,完全替代传统的验证码。

4. **用户体验优化**:由于问题可以是用户熟悉的、易于理解的,用户输入答案时会更加方便,减少了传统验证码输入时的烦恼。

### 技术实现:
1. **后台管理**:
   - 在DZ插件网后台,管理员可以添加、编辑、删除自定义问题。
   - 每个问题可以设置多个正确答案,增加灵活性。

2. **前端展示**:
   - 在需要验证的地方(如登录、发帖、修改密码等),前端会随机展示一个问题,用户输入答案后提交。
   - 如果答案正确,继续后续操作;如果错误,提示用户重新输入。

3. **安全性**:
   - 为了防止暴力破解,可以设置每个问题的错误尝试次数限制。
   - 可以结合IP限制,防止恶意用户频繁尝试。

### 示例代码:
以下是一个简单的PHP代码示例,展示如何实现自定义问答验证:

  1. // 后台添加问题
  2. function add_question($question, $answers) {
  3.     // 将问题和答案存入数据库
  4.     // $answers 可以是一个数组,允许多个正确答案
  5. }

  6. // 前端展示问题
  7. function get_random_question() {
  8.     // 从数据库中随机获取一个问题
  9.     $question = "你的网站名称是什么?";
  10.     return $question;
  11. }

  12. // 验证用户输入
  13. function validate_answer($user_answer) {
  14.     // 获取正确答案
  15.     $correct_answers = ["DZ插件网", "dz-x.net"];
  16.    
  17.     // 检查用户输入是否在正确答案数组中
  18.     if (in_array($user_answer, $correct_answers)) {
  19.         return true;
  20.     } else {
  21.         return false;
  22.     }
  23. }

  24. // 示例使用
  25. $question = get_random_question();
  26. echo "问题:$question";
  27. $user_answer = "DZ插件网"; // 假设用户输入了这个答案
  28. if (validate_answer($user_answer)) {
  29.     echo "验证通过!";
  30. } else {
  31.     echo "答案错误,请重试!";
  32. }
复制代码


### 总结:
通过自定义问答验证,不仅可以提升用户体验,还能有效防止自动化攻击。你提到的“天马行空”的问题设计,确实可以让验证过程变得更加有趣和人性化。如果你有兴趣,可以在DZ插件网上寻找相关插件,或者自己开发一个这样的功能。

如果你有更多关于Discuz开发的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.129.209.186,GMT+8, 2025-4-3 10:51 , Processed in 0.280384 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表