POC: 用召唤神龙游戏作为网站的验证码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jwenjian
V2EX    分享创造

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

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

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

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

    我简单做了一个 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     Solana     5498 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 08:43 PVG 16:43 LAX 01:43 JFK 04:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86