V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tankb52
V2EX  ›  问与答

有没有人觉得现在验证码用得太泛滥了?在很多界面其实是多余的

  •  
  •   tankb52 · 2014-09-27 09:10:16 +08:00 · 6337 次点击
    这是一个创建于 3702 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如说登录的时候也需要要填验证码?

    注册的时候填验证码我可以理解,防止机器大批量注册;但是登录界面表示默认对方已经拥有了账号,只要账号与密码匹配就可以了,这个时候填验证码是为了避免什么?

    最后在研究keepass自动登录的时候注意到这个问题的。
    36 条回复    2014-09-28 10:47:38 +08:00
    xxstop
        1
    xxstop  
       2014-09-27 09:11:10 +08:00
    这玩意就是一个蛋疼的东西。
    oott123
        2
    oott123  
       2014-09-27 09:11:32 +08:00 via Android
    避免暴力破解密码咯
    haozhang
        3
    haozhang  
       2014-09-27 09:19:51 +08:00
    没办法,有些人就是素质低,比如说黄牛...
    joyjy
        4
    joyjy  
       2014-09-27 09:26:07 +08:00
    盗号的人也会刷登录。
    GhostFlying
        5
    GhostFlying  
       2014-09-27 09:29:34 +08:00 via iPad
    很多时候验证码靠不住,所以多用只是为了加大软件登录的成本而已
    lollxxox
        6
    lollxxox  
       2014-09-27 09:29:46 +08:00   ❤️ 1
    用户永远觉得验证码是多于的,因为他是一个“活人”;
    网站的管理员永远想加验证码,因为他看的是“死人”生成的log。

    现在技术的关键是如何判断到底是“死人”还是“活人”,简单的方法就是全当你是“死人”。
    wangtuyi
        7
    wangtuyi  
       2014-09-27 09:30:39 +08:00   ❤️ 1
    理论上验证码是防止机器的,包括不限于:暴力猜解密码、用户名密码fuzz、重复提交等。
    但确实很多敏感操作,如登陆、注册等也是有使用验证码,大部分是两种,一种是直接显示,另一种是点击验证码输入框才显示,但也都给用户带来了不便。
    我喜欢的一种方式是后台验证输入有误三次才显示验证码,这就很好
    janxin
        8
    janxin  
       2014-09-27 09:45:42 +08:00
    因为有人爆破密码....
    tankb52
        9
    tankb52  
    OP
       2014-09-27 09:46:17 +08:00
    @wangtuyi

    嗯,这样确实很不错。可惜很多网站还是喜欢简单粗暴的验证啊
    Owenjia
        10
    Owenjia  
       2014-09-27 09:58:51 +08:00 via Android
    不加验证码,然后限制时间间隔和尝试次数怎么样?
    exoticknight
        11
    exoticknight  
       2014-09-27 10:04:33 +08:00
    lwbjing
        12
    lwbjing  
       2014-09-27 10:12:56 +08:00
    大部分的产品只是觉得,别人都有,那我也加一个。。 而不是我要这个真正是为了什么。。。
    kisshere
        13
    kisshere  
       2014-09-27 10:17:23 +08:00
    话说 我用casperjs登录某网站,结果始终在验证码这关卡住了
    loveminds
        14
    loveminds  
       2014-09-27 10:36:38 +08:00
    @lollxxox
    @wangtuyi
    @xxstop 可以做到用户体验更好的方式来验证 而不只是 扭曲的机器
    shiny
        15
    shiny  
       2014-09-27 11:01:14 +08:00
    频率限制可以通过更换代理 ip 来绕过,所以在非常用地点尝试登录的时候应该出验证码,常用地点则仅仅登录出错一定次数后再显示验证码。
    imn1
        16
    imn1  
       2014-09-27 11:01:21 +08:00
    @Owenjia 如何记录上次尝试登录的时间?数据库么?
    bydmm
        17
    bydmm  
       2014-09-27 11:06:49 +08:00
    好的验证码能挡住除了“人肉识别”以外的机器人
    lyragosa
        18
    lyragosa  
       2014-09-27 11:10:21 +08:00
    我的方法是 同一IP输入五次密码错误就ban掉IP15分钟

    不设置验证码

    如果有人乐意5分钟换个IP这么搞我我也认了。大爷的DDOS攻击任何人都防不住
    binux
        19
    binux  
       2014-09-27 11:27:07 +08:00 via Android
    @lyragosa 弄几千个ip不要太简单
    zts1993
        20
    zts1993  
       2014-09-27 11:35:33 +08:00
    一点都不多余。。robot可多了。。
    imn1
        21
    imn1  
       2014-09-27 11:46:23 +08:00
    @lyragosa tor换ip只需5秒

    google搜索只要用tor就要验证码,不时给你个“Sorry”,如无意外,google上面有一个tor出口节点的数据库
    cookiebody
        22
    cookiebody  
       2014-09-27 11:55:35 +08:00
    验证码是互联网领域,体验最槽糕的功能。
    但是,目前又没更好的解决方案来避免。
    xifangczy
        23
    xifangczy  
       2014-09-27 12:05:51 +08:00
    为了防止爆破,增加了注册码。为了防止验证码自动识别程序,又增加复杂度,到现在恶心的中文验证码,用户还要去切换输入法,还要丧心病狂的选择题。这是个恶性循环。
    lyragosa
        24
    lyragosa  
       2014-09-27 12:36:47 +08:00
    @binux
    @imn1

    这要看具体情况,大网站而言,当然需要足够多的反bot措施,但对于我的个人网站来说,我觉得验证码带来的用户体验的损失,相比加了验证码带来的反spam收益来说,不划算。
    miao
        25
    miao  
       2014-09-27 12:53:17 +08:00
    你们搞一个流量稍大的wordpress, 就知道群发机器人有多恐怖了(如果是英语wordpress,更恐怖). 所以必须搞验证码.
    imn1
        26
    imn1  
       2014-09-27 12:57:38 +08:00
    @lyragosa 嗯,这个我认同,我也是注重用户体验多于反bot,除非遇到恶意、无法避免、不得不等情况下才使用
    lincanbin
        27
    lincanbin  
       2014-09-27 13:06:17 +08:00
    防止穷举登陆,以前Discuz可以uid登陆,靠弱口令穷举就能爆出一堆号来。
    tankb52
        28
    tankb52  
    OP
       2014-09-27 14:03:34 +08:00
    @lincanbin
    现在Discuz好像是对密码试错次数作出限制了。
    MinonHeart
        29
    MinonHeart  
       2014-09-27 15:38:23 +08:00 via Android
    为什么不用时间限制?因为懒
    anjianshi
        30
    anjianshi  
       2014-09-27 16:15:09 +08:00
    @tankb52
    lincanbin 的意思应该是拿一个常用的密码挨个 uid 去试,这样子即使有出错次数限制也没用
    quix
        31
    quix  
       2014-09-27 16:58:06 +08:00   ❤️ 2
    想起一个实验:

    把五只猴子关在一个笼子里,上头有一串香蕉实验人员装了一个自动装置
    一旦侦测到有猴子要去拿香蕉,马上就会有水喷向笼子而这五只猴子都会一身湿
    首先有只猴子想去拿香蕉,当然,结果就是每只猴子都淋湿了
    之後每只猴子在几次的尝试後,发现莫不如此
    於是猴子们达到一个共识:不要去拿香蕉,以避免被水喷到
    後来实验人员把其中的一只猴子释放,换进去一只新猴子A
    这只猴子A看到香蕉,马上想要去拿
    结果,被其他四只猴子海K了一顿
    因为其他四只猴子认为猴子A会害他们被水淋到,所以制止他去拿香蕉
    A尝试了几次,虽被打的满头包,依然没有拿到香蕉
    当然,这五只猴子就没有被水喷到
    後来实验人员再把一只旧猴子释放,换上另外一只新猴子B
    这猴子B看到香蕉,也是迫不及待要去拿
    当然,一如刚才所发生的情形,其他四只猴子海K了B一顿
    特别的是,那只A猴子打的特别用力(这叫老兵欺负新兵,或是媳妇熬成婆 ^O^)
    B猴子试了几次总是被打的很惨,只好作罢
    後来慢慢的一只一只的,所有的旧猴子都换成新猴子了,大家都不敢去动那香蕉
    但是他们都不知道为什麽,只知道去动香蕉会被猴扁
    tankb52
        32
    tankb52  
    OP
       2014-09-27 19:04:55 +08:00 via Android
    @anjianshi
    汗死!居然没想到这种方法。
    janxin
        34
    janxin  
       2014-09-27 23:11:39 +08:00
    @miao 赞同,我的wp是个小站每天都有几百到上千的垃圾评论...要跪
    willwen
        35
    willwen  
       2014-09-28 07:57:12 +08:00 via iPhone
    @miao 也有一些防spam的工具,不用驗證碼,但需要活人用鼠標操作才能看到輸入框
    Winny
        36
    Winny  
       2014-09-28 10:47:38 +08:00
    1、限制1小时内每个账号错误次数
    2、限制1小时内每个IP错误次数

    限制注册/修改密码时使用弱口令。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:29 · PVG 14:29 · LAX 22:29 · JFK 01:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.