s15885823584 2024-05-23 15:06 采纳率: 0%
浏览 20

微信小程序答题如何防止搜题类软件作弊

搜题软件的原理是先导入题库,然后开启悬浮窗在微信小程序的上方,当在小程序上答题时,搜题软件通过读屏识别文字后与题库匹配后,将最佳匹配的题题目及答案显示出来。如下图

img

想到的方法就是通过微信小程序检测是否有悬浮窗,有的话就退出答题,但微信小程序无法获取是否有悬浮窗。有没有什么办法知晓目前开启了搜题软件。

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-23 15:06
    关注

    引自免费微信小程序:皆我百晓生

    针对微信小程序中的答题防作弊问题,可以采用一些技术手段来降低搜题软件的作弊效果。虽然无法直接检测到悬浮窗,但可以通过以下几种方法增加作弊难度:

    1. 动态干扰: 生成试题时,可以动态添加干扰元素。例如,在每个选项前后随机插入一些无关的文字或符号,这样即使搜题软件识别了文字,也无法准确匹配题目的原始选项。这需要在服务器端生成试题时实现。

      def generate_interfered_options(options):
          interfered_options = []
          for option in options:
              # 随机插入干扰字符
             干扰字符 = ''.join(random.choices(string.ascii_letters + string.digits, k=random.randint(1, 5)))
              interfered_options.append(f"{option} {干扰字符}")
          return interfered_options
      
      original_options = ["A", "B", "C", "D"]
      interfered_options = generate_interfered_options(original_options)
      
    2. 时间限制: 对于每个题目设置一个合理的作答时间限制,超过这个时间则自动提交答案或判定为无效作答。这可以阻止用户有足够的时间去启动搜题软件并等待结果。

    3. 滑动验证: 在答题前,要求用户进行滑动验证,类似于滑块验证码,确保是人为操作而不是程序自动化。

    4. 图像识别题目: 设计一部分题目为图片形式,包含文字、图形或其他难以被OCR(光学字符识别)工具识别的内容。用户需要手动输入答案,增加了作弊的难度。

    5. 行为分析: 监控用户的答题行为,如连续正确率过高、答题速度过快等异常情况,标记为可能的作弊行为,并采取相应措施,如人工审核或临时封禁账号。

    6. 混淆布局: 将选项随机分布在页面的不同位置,使得搜题软件难以通过固定坐标获取答案。

    7. 多轮验证: 分阶段提问,比如先问一道简单的题目验证用户是否真实作答,然后再进入正式的答题环节。

    尽管这些策略不能完全杜绝作弊,但它们能显著提高作弊的难度,使搜题软件变得不再那么有效。同时,也可以考虑结合第三方反作弊服务,如腾讯云实名认证、行为分析等,进一步提升系统的安全性。记住,防作弊是一个持续的过程,需要不断更新策略以应对新的挑战。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月23日

悬赏问题

  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)