V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jwenjian
V2EX  ›  分享创造

POC: 用召唤神龙游戏作为网站的验证码

  •  
  •   jwenjian ·
    jwenjian · 2022-06-19 16:39:27 +08:00 · 2648 次点击
    这是一个创建于 892 天前的主题,其中的信息可能已经有所发展或是发生改变。

    验证码就是为了区分用户是真人还是机器人, 那么何不用游戏来做验证码呢?

    思路就是在子页面打开一个游戏, 规定要在游戏里完成特定任务才算验证通过.

    我简单做了一个 POC, 用召唤神龙这个游戏来做例子, 只有当你在游戏里合成了锦鲤(这个目标可以调整, 比如合成青蛙就算成功, 或者必须合成神龙才算成功), 才算通过考核.

    父页面监听考核成功的事件, 来做相应的操作.

    试玩地址: https://fancy-melba-e4e37f.netlify.app/#

    电脑端效果更好, 移动端没测试, 只是一个 POC.

    第 1 条附言  ·  2022-06-20 19:31:55 +08:00
    为了更好的做 POC, 把难度从合成锦鲤变成了合成小乌龟🐢.

    另外, 对源码感兴趣的, 拿去: https://github.com/jwenjian/SummonTheDragon

    体验地址更新为: https://dragon-captcha-poc.netlify.app/

    另外, 推荐一下我的不一定啥时候更新但是基本上是一周一篇的"周"刊, 感兴趣的可以用 RSS 订阅: https://1link.fun

    ღ( ´・ᴗ・` )比心
    15 条回复    2022-07-18 17:55:19 +08:00
    Nasei
        1
    Nasei  
       2022-06-19 16:51:46 +08:00
    用户来用你的服务, 竟然还要浪费时间玩游戏...
    jwenjian
        2
    jwenjian  
    OP
       2022-06-19 16:57:43 +08:00
    @Nasei 只是另外一种验证码的思路, 你的这句话也可以换成

    用户来用你的服务, 竟然还要浪费时间做加减乘除法 / 拖动滑块拼图 / 辨别哪张图上有人行道 ......

    但是这些都是实际存在的东西, 而且游戏的类型, 难度也都可以自己设定, 不一定要浪费多少时间, 关键在于区分真人 / 机器人.

    只是一个思路, 不要在意召唤神龙这个游戏本身, 只是一个 POC, 用来验证想法的.
    Nasei
        3
    Nasei  
       2022-06-19 17:02:15 +08:00
    @jwenjian 你换的这句是对的, 用户对于验证码的吐槽从来没有停过, 只不过 1. 被迫的不得不用 2.还在忍耐范围内
    Puteulanus
        4
    Puteulanus  
       2022-06-19 17:14:28 +08:00
    怎么保证这个验证码用程序很难模拟出来呢,不然爬虫直接模拟了考核成功的事件,只有用户被迫得玩这个游戏
    像京东的各种玩游戏领券,也可以视为游戏过程是一个验证码,已经都是脚本挂的了
    cyp0633
        5
    cyp0633  
       2022-06-19 17:19:43 +08:00 via Android
    有意思,但完成一个这个比 recaptcha 耗时还要多吧
    Jooooooooo
        6
    Jooooooooo  
       2022-06-19 17:22:53 +08:00
    这得做下对比实验, 对比四个字母的验证码流失率有多少.
    phithon
        7
    phithon  
       2022-06-19 18:25:34 +08:00
    这游戏设计不合理呀,怪是刷新出来不是和我一样成长起来的
    MiracleShadow
        8
    MiracleShadow  
       2022-06-20 10:16:25 +08:00
    听我说谢谢你,浪费了半小时
    hectorbrakej
        9
    hectorbrakej  
       2022-06-20 14:27:59 +08:00 via iPhone
    谢谢你,半个小时终于验证成功了
    Yinz
        10
    Yinz  
       2022-06-20 14:39:50 +08:00
    感谢分享!很有意思的思路,原来可以这样进行父子网页的沟通,学到了
    jwenjian
        11
    jwenjian  
    OP
       2022-06-20 19:14:11 +08:00
    @phithon 这个确实, 很容易一不小心被吃掉
    kaiger
        12
    kaiger  
       2022-06-21 11:45:52 +08:00
    loading ...98%

    然后就不动了,何解
    kaiger
        13
    kaiger  
       2022-06-21 11:46:40 +08:00
    哦,不是不动了,是动的太慢了
    现在 99%
    Hosing
        14
    Hosing  
       2022-06-21 15:08:57 +08:00
    玩之前还以为是直接集齐龙珠召唤神龙😂

    PS:摸鱼被主管发现了
    ekoaix
        15
    ekoaix  
       2022-07-18 17:55:19 +08:00
    @Jooooooooo 提到验证码,我要推荐一个项目上用到的验证码 ,验证方式比较丰富,挺有想法的: https://www.dingxiang-inc.com/business/captcha 。ps: 四个字母的验证码早被淘汰了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4833 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:02 · PVG 18:02 · LAX 02:02 · JFK 05:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.