V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
test9106
V2EX  ›  云计算

短信验证码替代方案

  •  
  •   test9106 · 20 小时 4 分钟前 · 6890 次点击
    最近运营商又收紧短信审查了,好多发送失败的,有什么替代短信的方案吗?主要场景就是验证码登录,用户不愿意记密码。
    84 条回复    2025-08-01 00:32:24 +08:00
    zx9481
        1
    zx9481  
       20 小时 4 分钟前
    微信推送?
    yhehior
        2
    yhehior  
       20 小时 3 分钟前
    邮件推送 otp
    LxnChan
        3
    LxnChan  
       20 小时 3 分钟前
    邮箱?
    Tianao
        4
    Tianao  
       20 小时 2 分钟前
    最优雅的是 passkey, 最现实的是微信。
    Rorysky
        5
    Rorysky  
       20 小时 2 分钟前
    绑定微信
    mohumohu
        6
    mohumohu  
       20 小时 1 分钟前
    小程序扫码快速验证手机号
    Charlottepl
        7
    Charlottepl  
       20 小时 0 分钟前
    集成几个主流的三方登陆呗
    bk201
        8
    bk201  
       19 小时 59 分钟前
    不用手机登录改微信或者邮箱登录
    xubeiyou
        9
    xubeiyou  
       19 小时 58 分钟前
    微信或者邮箱把
    opengps
        10
    opengps  
       19 小时 57 分钟前
    见过不少用微信推送二维码的做法了
    superrichman
        11
    superrichman  
       19 小时 57 分钟前
    oauth 登录
    0x2CA
        12
    0x2CA  
       19 小时 51 分钟前
    2FA 双重身份验证
    brom111
        13
    brom111  
       19 小时 46 分钟前
    微信推送吧。现在都是双推送。

    现在短信管控真的特别严格。就算按规定修改了也经常 G
    wasaibi12345
        14
    wasaibi12345  
       19 小时 45 分钟前   ❤️ 1
    说实话我一直都有一个很疑惑的问题,为什么国内软件喜欢用短信登录,而国外短信喜欢用邮箱登录,真的是用户习惯不同吗?我认为更多的原因其实是国内实名认证的要求,但又不愿意明摆着认证引起用户反感,因此就都用绑定手机号的方式进行隐性认证

    那么,手机号不能用之后,这个 "替代方案" 就必须除了认证身份的功能外,还要同时具有实名的功能,因此这就直接打死了邮箱和 2FA 等方案
    justNoBody
        15
    justNoBody  
       19 小时 43 分钟前
    坚果云用过吗?他们很多年前就开始用微信推送了
    realpg
        16
    realpg  
    PRO
       19 小时 42 分钟前   ❤️ 1
    @wasaibi12345 #14
    因为国内实名认证的要求
    而普通公司又没有四要素银行卡这种金融级别验证的要求
    网安给你发协查指令, 要你提供实名信息时候, 你给他个手机号让他们自己查去, 就行了
    shenjinpeng
        17
    shenjinpeng  
       19 小时 42 分钟前
    两步验证, PassKey , 第三方 oauth 微信 github google, APP 二维码扫码 ...
    lotty18
        18
    lotty18  
       19 小时 36 分钟前
    微信、邮箱
    YulChigga
        19
    YulChigga  
       19 小时 35 分钟前
    同样遇到开发票的短信,附开票链接和验证码被拦截,用户大部分不愿意关注微信公众号,邮箱就更别提了,对于货运司机不想操作那么复杂
    FarmerChillax
        20
    FarmerChillax  
       19 小时 35 分钟前   ❤️ 1
    @wasaibi12345 邮箱在境外多数地区具有法律效力,感觉和手机号实名认证是类似的
    yh7gdiaYW
        21
    yh7gdiaYW  
       19 小时 30 分钟前   ❤️ 1
    默认本机号码一键登录,然后用微信兜底
    realpg
        22
    realpg  
    PRO
       19 小时 25 分钟前
    @YulChigga #19
    开发票为啥要短信下发啊
    税务局全电发票刚开始时候 对二开商都有个培训
    短信下发填报这种方式那时候就是不建议方式
    网站/app 类在线服务 建议是在线填写信息直接回来下载

    线下经营场景, 建议是扫实体静态码填写信息返回交付码,或者水单上的包含信息的动态码自扫自开
    r00tt
        23
    r00tt  
       19 小时 25 分钟前
    使用公众号相关 sdk ,然后调用微信实时验证手机号码,微信会自己去发验证码的
    mckincy
        24
    mckincy  
       19 小时 12 分钟前
    最近短信确实不太稳定,有几个替代方案可以考虑:

    邮件验证:虽然速度慢一点,但稳定性和覆盖面都不错。

    移动 App 推送:如果有 App ,可以通过推送通知进行验证。

    动态密钥 App:像谷歌身份验证器,只需扫描二维码即可生成动态密码。

    WhatsApp 或微信验证:利用这些社交平台提供的 API 进行认证。
    llxvs
        25
    llxvs  
       19 小时 7 分钟前 via iPhone
    @FarmerChillax 你这个说法就有点扯了,你没用过境外邮箱还是你的境外邮箱实名认证了?匿名邮箱有什么法律效力?
    raw0xff
        26
    raw0xff  
       18 小时 59 分钟前
    raw0xff
        27
    raw0xff  
       18 小时 57 分钟前
    @Tianao
    @shenjinpeng

    passkey 在大部分国产 Android 机上无法使用,现在有改善了吗?
    dfkjgklfdjg
        28
    dfkjgklfdjg  
       18 小时 49 分钟前
    @wasaibi12345 #14 ,用户习惯确实是大头。在国内对于非互联网从业者来说邮箱就是一个极其不常用的东西。大众要的就是便利。
    非国内环境中邮箱也是具有国内的手机号一样的作用。比如说在买卖或者租赁的时候作为通过邮箱来关联某一个现实中的人。在之后的交易中强关联在某一个商户上。
    (当然可以随便写姓名和邮箱,但是也是有成本的,沉默的绝大多数并不一定愿意付出这个成本,只用一个或者两三个邮箱。所以也是为什么 iCloud 会提供隐藏邮件地址的服务)

    那么回到历史的时间节点,排除实名认证这一强制性要求。如果要做忘记密码、账户验证找回之类的功能。你会如何选择方案路线,并且方案可以被普罗大众所接受,从各种方案中脱颖而出,成为行业默认的方案规则。
    avenger
        29
    avenger  
       18 小时 48 分钟前
    微信推送要求网站在国内备案,也是一个门槛吧
    tongbufu
        30
    tongbufu  
       18 小时 44 分钟前 via iPhone
    TG WhatsApp
    噢境内 那算了
    Tianao
        31
    Tianao  
       18 小时 40 分钟前
    @raw0xff #27 哈哈,不好意思我不知道,因为我不是开发者,也没有国产安卓机。不过很感谢你作为开发者会考虑 passkey!
    xiangyuecn
        32
    xiangyuecn  
       18 小时 37 分钟前
    最不靠谱的就是微信推送,说难听点就是滥用,并且这玩意本身就不好用
    potatowish
        33
    potatowish  
       18 小时 35 分钟前 via iPhone
    @wasaibi12345 #14 国内用户没有使用邮箱的习惯,底层用户也不知道邮箱为何物,一提到邮箱就想到 qq 邮箱,继而联想到 qq 里能收到提示,可以打开看到信息的那种
    Curtion
        34
    Curtion  
       18 小时 34 分钟前
    要不试试新技术 WebAuthn ?
    iv8d
        35
    iv8d  
       18 小时 28 分钟前 via Android
    动态密钥 app 免费白嫖。
    wuhunyu
        36
    wuhunyu  
       18 小时 11 分钟前
    @Curtion 不说很多网站还没有提供支持,国内的安卓手机也支持的不好,反而 win11 和 iphone,mac 支持的还可以
    huyi23
        37
    huyi23  
       18 小时 11 分钟前
    当然是一键登录啊,能获取到手机号,程序都不用怎么改
    cooltechbs
        38
    cooltechbs  
       18 小时 2 分钟前
    题外话,短信管这么严,垃圾信息为啥还是那么疯狂
    18k
        39
    18k  
       17 小时 59 分钟前 via Android
    找第三方短信平台
    skiy
        40
    skiy  
       17 小时 52 分钟前 via iPhone
    小程序扫码登录,我之前做过。不收费。
    公众号方式需要交钱验证。

    还有两种:
    1. 用 sms 转发器。需要自己挂一台能收短信的手机,用户发短信,你再转发到自己服务器。类似某些平台的账号找回。用户需要自己付短信费。

    2. 有点不道德,且非法。调别的平台的登录服务,用户收到短信后,你再尝试登录该平台。能登录就过。
    18k
        41
    18k  
       17 小时 51 分钟前 via Android
    @cooltechbs 垃圾短信也可以签名通过,现在的严格只是签名审核严格
    yyws2012
        42
    yyws2012  
       17 小时 45 分钟前 via Android
    用邮箱,界面上给一个让用户填 qq 邮箱、去 qq 或者微信看验证码的强引导,这样应该普通用户也不至于收不到吧?
    szdubinbin
        43
    szdubinbin  
       17 小时 44 分钟前
    @skiy 而且第二点经常被拿来做轰死你之类的灰产。
    jzphx
        44
    jzphx  
       17 小时 32 分钟前
    为啥发个验证码也会失败,现在主要是短信签名的审核比较麻烦,三大运营商都得审批,审核过之后验证码相关的内容一般不会过滤啊
    fox0001
        45
    fox0001  
       17 小时 9 分钟前 via Android
    1. 标识用户。可以标识用户身份的方式,比如手机号、跟手机号绑定的账号、注册记录的邮箱等。

    2. 发送方式。
    - 系统主动发送。系统把验证码发送到指定用户的可靠方式。而且客户无感验证。
    - 用户主动请求。把网站显示的验证码发送给验证系统。

    那么就是几种方式了:

    - 手机号 + 发短信,能收到短信等于验证通过。
    - 邮箱 + 发邮件。
    - 社交账号 + 发消息。
    - 各种用户账号 + 扫二维码。这里一般使用能验证身份的社交软件去扫。
    FarmerChillax
        46
    FarmerChillax  
       16 小时 46 分钟前
    raw0xff
        47
    raw0xff  
       16 小时 42 分钟前
    @Tianao 为什么感谢作为开发者会考虑 passkey ?
    jackOff
        48
    jackOff  
       16 小时 40 分钟前
    我觉得国家在强推这个 https://cdnrefresh.ctdidcii.cn/w1/WHClient_H5/Install/InstallGuide.html
    短信邮箱或者其他的以后都会逐渐限制乃至于根本不能商用,最多个人使用一下
    xmumiffy
        49
    xmumiffy  
       16 小时 39 分钟前 via Android
    弹小程序上快速获取手机号
    Tianao
        50
    Tianao  
       16 小时 35 分钟前   ❤️ 1
    @raw0xff #47 因为我觉得这是一条在安全工程、系统工程和人因工程上都无比正确但在商用推广上道阻且长的路。
    test9106
        51
    test9106  
    OP
       16 小时 30 分钟前
    多谢各位的回复,考虑各种因素,目前还真没一种办法可以完美替代短信验证码。
    zhonghao01
        52
    zhonghao01  
       16 小时 23 分钟前
    前阵子公司业务需要用越南的一款 APP:Zalo ,像素级模仿微信的那种。 他们的短信登录方案是告诉你一段很长的字母+数字的验证码,你发给它们指定的手机号。
    hi2hi
        53
    hi2hi  
       16 小时 13 分钟前
    @zhonghao01 古早的验证方案,,,其实腾讯以前也这么验证,很大概率会丢失客户,也就腾讯敢这么持续的做
    zhonghao01
        54
    zhonghao01  
       15 小时 59 分钟前
    @hi2hi 腾讯现在也还有业务这样用,QQ 邮箱生成那个什么 CODE 需要你主动发送短信过去。
    OceanRs
        55
    OceanRs  
       15 小时 58 分钟前
    刷脸认证?
    zhang77555
        56
    zhang77555  
       15 小时 50 分钟前
    @wasaibi12345 因为手机号人人都有,邮箱的话直接就等于拒绝了一大批没邮箱不咋上网的老年中年用户,久而久之就成了行业习惯
    xiayun
        57
    xiayun  
       15 小时 37 分钟前
    MFA?
    qiubaowei
        58
    qiubaowei  
       15 小时 10 分钟前
    没办法 像我们的金融业务必须要手机号 还要做二三要素认证,验证码这边只能多接几家短信商,然后多搞几个签名报备作为备用,然后最近在接一键登录
    hahiru
        59
    hahiru  
       14 小时 52 分钟前
    微博(私信验证)
    坚果云(微信服务号验证)
    腾讯(让用户发送短信)
    邮箱验证
    Van426326
        60
    Van426326  
       14 小时 51 分钟前
    业务 app 做过 CA 证书签名登录 只要用户本地安装了证书 并且针对某次登录请求签名成功就放行了
    FriedRice
        61
    FriedRice  
       14 小时 45 分钟前

    坚果云没有微信验证啊,都是邮箱和密码
    1ffree
        62
    1ffree  
       14 小时 42 分钟前
    微信没有限制频次吗?
    morty0
        63
    morty0  
       14 小时 35 分钟前
    语音验证码
    xz410236056
        64
    xz410236056  
       14 小时 19 分钟前
    外国有几个靠发短信的,麻烦点的邮箱验证码,新兴的有身份认证器认证(微软),passkey ( github 等)、oauth ( apple 登录、谷歌登录等)。
    wangcl
        65
    wangcl  
       13 小时 44 分钟前
    第一次获取不到换语音验证码或上行短信验证(就是用户发短信到某个指定号码)
    elinktek
        66
    elinktek  
       13 小时 42 分钟前
    @wasaibi12345 国外的默认的都是真实信息,他们头像名字地址大多数都是真实信息,当然也有假的,但是基于人权法没有要求强制实名。TG 是地球上少數強制實名的國家,基於這種政策用手機驗證是最方便的,所以現在大多數大陸的 app 第一步就是收集你的手機號,有了這個就有了一切
    tomari
        67
    tomari  
       13 小时 41 分钟前
    passkey 美国这儿大网站已经基本普及了
    flyqie
        68
    flyqie  
       12 小时 50 分钟前 via Android
    上行短信?应该不算特别麻烦吧?
    flyqie
        69
    flyqie  
       12 小时 50 分钟前 via Android
    @flyqie #68

    不算特别麻烦 -> 对客户不算特别麻烦
    coderzhangsan
        70
    coderzhangsan  
       12 小时 19 分钟前
    严格来讲这并不是技术问题,这是个产品问题,首要应该用产品思维去看问题,邮箱/passkey 太依赖具体的用户群体,如果你的用户主体都是年轻人,互联网这块稍微熟悉的,你可以这么推;群体比较广就不太现实;除验证码登录之外,建议以下 2 种,密码麻烦点大部分也能接受,也可以做时效性免登机制;

    1. 三大运营商本机号码一键登录
    2. 密码登录
    FrankAdler
        71
    FrankAdler  
       12 小时 11 分钟前
    @FriedRice 坚果云是二次验证用的微信,https://help.jianguoyun.com/?p=1251
    ily433664
        72
    ily433664  
       12 小时 3 分钟前
    唯一方法就是微信扫码(国内)、邮箱验证码(国外)
    如果你的用户连密码都不想记,其他全七八糟的方法也不会想用
    unused
        73
    unused  
       11 小时 25 分钟前 via Android
    那必须是接入国家网络身份认证
    Eagleyes
        74
    Eagleyes  
       9 小时 39 分钟前
    @wasaibi12345 #14 不完全是。国内大部分人没有邮箱,几乎不用,qq 自带的那个不算。大家也不会用,多少人收件箱里满满当当都不整理。国内邮箱这个使用习惯一直没有广泛培养起来。
    wanmyome
        75
    wanmyome  
       9 小时 29 分钟前
    网号
    irrigate2554
        76
    irrigate2554  
       9 小时 8 分钟前
    @unused 这个现在有公开 API 可以调用了么
    JefferyWang
        77
    JefferyWang  
       8 小时 42 分钟前
    TOTP
    xiuming
        78
    xiuming  
       8 小时 31 分钟前
    @cooltechbs 允许州官放火 不允许百姓点灯
    zoharSoul
        79
    zoharSoul  
       8 小时 30 分钟前
    邮箱不就好了
    NO9527
        80
    NO9527  
       8 小时 24 分钟前
    Google Authenticator ,拿到一个 key 放软件里就能生成验证码,不过要让用户装一个验证码软件也挺麻烦的,好像小程序有也不用装软件了?
    darkengine
        81
    darkengine  
       8 小时 21 分钟前
    反过来,生成验证码让用户给你发,我记得网易邮箱还是啥就是这么搞的。
    YVAN7123
        82
    YVAN7123  
       7 小时 42 分钟前
    @darkengine 国内有做这个的吗?
    BadAngel
        83
    BadAngel  
       6 小时 43 分钟前
    双因素身份验证(2FA)
    frankies
        84
    frankies  
       6 小时 4 分钟前
    抖音授权登录可以获取手机号,不用抖音的人直接 pass
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1015 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:37 · PVG 06:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.