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

关于验证码机制,验证码是走前端生成还是后端生成好?

  •  
  •   black11black · 2020-11-26 23:20:54 +08:00 · 4571 次点击
    这是一个创建于 1218 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,特指登录验证码,这个东西是放在前端好还是后端好?

    如果纯粹作为前端验证的话,有被攻破的风险。而如果后端生成的话,生成验证码本身也会造成服务器压力

    应该如何取舍呢?

    23 条回复    2020-11-27 14:16:54 +08:00
    singerll
        1
    singerll  
       2020-11-26 23:26:09 +08:00 via Android
    算下攻破成本和预防成本
    coosir
        2
    coosir  
       2020-11-26 23:27:29 +08:00
    后端生成呀。
    非常好奇前端生成验证码是个啥流程,还有安全性可言吗? 如果只是做个样子你是可以
    hafuhafu
        3
    hafuhafu  
       2020-11-26 23:40:20 +08:00
    以我的认知来说,如果在前端生成验证码不就等于自己骗自己吗,只能对正常使用的用户有效果。而验证码的作用本来就是为了防爬虫之类的玩意,而不是防正常用户。
    black11black
        4
    black11black  
    OP
       2020-11-26 23:54:08 +08:00
    @coosir 我也不是写前端的,不过正常都会有一些前端验证流程,加些混淆过后的 js 模块之类的,比如 pixiv 的登录用的那个服务。我只是看过,没研究过。
    akira
        5
    akira  
       2020-11-27 00:06:15 +08:00
    都可以。
    但是你要明白,走前端的话,是为了验证而验证了。
    cheng6563
        6
    cheng6563  
       2020-11-27 00:47:59 +08:00 via Android
    验证码还能前端生成的吗
    ochatokori
        7
    ochatokori  
       2020-11-27 02:24:56 +08:00 via Android   ❤️ 6
    前端生成骗一下领导哈哈
    muzuiget
        8
    muzuiget  
       2020-11-27 06:04:41 +08:00
    难道楼主不知道验证码是做什么用的?
    imdong
        9
    imdong  
       2020-11-27 08:22:06 +08:00 via iPhone
    前端生成?验证了个寂寞?

    这种行为:验证码就是为了恶心正常用户?

    所以,不管压力多大,都要放后端!
    xiaoyang7545
        10
    xiaoyang7545  
       2020-11-27 08:28:29 +08:00
    前端验证只能骗骗正常用户。
    但是躲不过伪造的提交。那不如不验证。
    另外都什么年代了,生成个验证码能费多少资源。还当做什么单机 512MB 内存的机子来开发呢。
    Tink
        11
    Tink  
       2020-11-27 08:32:29 +08:00 via Android
    前端生成的逻辑是咋样的?
    gimp
        12
    gimp  
       2020-11-27 08:35:40 +08:00
    前端生成随机的验证码自己骗自己,哈哈哈哈
    pushback
        13
    pushback  
       2020-11-27 09:08:22 +08:00
    验证码后端,机器人校验码可以前端也可以后端
    rioshikelong121
        14
    rioshikelong121  
       2020-11-27 09:17:11 +08:00
    前端生成只能保護從 UI 發起的提交,保護不了接口吧。
    zsc8917zsc
        15
    zsc8917zsc  
       2020-11-27 09:22:57 +08:00
    掩耳盗铃了解一下~~
    passerbytiny
        16
    passerbytiny  
       2020-11-27 10:09:24 +08:00 via Android
    验证码生成只需要 web 服务器就够了,涉及的资源只是受访节点的 cpu 和内存,不涉及磁盘和数据库。或者说,只涉及廉价的计算资源,不涉及昂贵的 IO 资源。这点资源占用,要是让服务器有压力,那只能说明服务器太垃圾了。
    longaiwp
        17
    longaiwp  
       2020-11-27 10:12:04 +08:00
    前端生成是什么鬼?正儿八经的都不可能这样做吧。
    CNWh3t
        18
    CNWh3t  
       2020-11-27 10:37:52 +08:00
    哈哈哈 确实从来没试过前端生成的
    frandy
        19
    frandy  
       2020-11-27 12:28:19 +08:00
    前端生成是不是指接入第三方验证码服务?那也得后端配合吧。
    whypool
        20
    whypool  
       2020-11-27 13:18:33 +08:00
    验证码哪有前端生成的。接口一抓不就 gg 了

    如果生成验证码能成为后端瓶颈,那离暴富也不远了
    2088TXT
        21
    2088TXT  
       2020-11-27 14:15:05 +08:00
    @Tink js 生成 存值然后 根据输入的数据 再 进行判断
    2088TXT
        22
    2088TXT  
       2020-11-27 14:15:27 +08:00
    @2088TXT 补充:用 js 进行判断
    noe132
        23
    noe132  
       2020-11-27 14:16:54 +08:00
    手机验证码的接口,后端直接把验证码返回给前端,这样前端就能做自动填写验证码了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2691 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1221ms · UTC 15:45 · PVG 23:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.