短信验证码替代方案 - V2EX
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
test9106

短信验证码替代方案

  test9106 Jul 31, 2025 14036 views
This topic created in 285 days ago, the information mentioned may be changed or developed.
最近运营商又收紧短信审查了,好多发送失败的,有什么替代短信的方案吗?主要场景就是验证码登录,用户不愿意记密码。
98 replies    2025-08-13 17:31:40 +08:00
zx9481
    1
zx9481  
   Jul 31, 2025
微信推送?
yhehior
    2
yhehior  
   Jul 31, 2025
邮件推送 otp
LxnChan
    3
LxnChan  
   Jul 31, 2025
邮箱?
Tianao
    4
Tianao  
   Jul 31, 2025   1
最优雅的是 passkey, 最现实的是微信。
Rorysky
    5
Rorysky  
   Jul 31, 2025
绑定微信
mohumohu
    6
mohumohu  
   Jul 31, 2025
小程序扫码快速验证手机号
Charlottepl
    7
Charlottepl  
   Jul 31, 2025
集成几个主流的三方登陆呗
bk201
    8
bk201  
   Jul 31, 2025
不用手机登录改微信或者邮箱登录
xubeiyou
    9
xubeiyou  
   Jul 31, 2025
微信或者邮箱把
opengps
    10
opengps  
   Jul 31, 2025
见过不少用微信推送二维码的做法了
superrichman
    11
superrichman  
   Jul 31, 2025
oauth 登录
0x2CA
    12
0x2CA  
   Jul 31, 2025
2FA 双重身份验证
brom111
    13
brom111  
   Jul 31, 2025
微信推送吧。现在都是双推送。

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

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

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

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

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

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

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

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

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

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

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

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

那么就是几种方式了:

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

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

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

1. 三大运营商本机号码一键登录
2. 密码登录
FrankAdler
    71
FrankAdler  
   Jul 31, 2025
@FriedRice 坚果云是二次验证用的微信,https://help.jianguoyun.com/?p=1251
lovelive1024
    72
lovelive1024  
   Jul 31, 2025
唯一方法就是微信扫码(国内)、邮箱验证码(国外)
如果你的用户连密码都不想记,其他全七八糟的方法也不会想用
unused
    73
unused  
   Jul 31, 2025 via Android
那必须是接入国家网络身份认证
Eagleyes
    74
Eagleyes  
   Jul 31, 2025
@wasaibi12345 #14 不完全是。国内大部分人没有邮箱,几乎不用,qq 自带的那个不算。大家也不会用,多少人收件箱里满满当当都不整理。国内邮箱这个使用习惯一直没有广泛培养起来。
wanmyome
    75
wanmyome  
   Jul 31, 2025
网号
irrigate2554
    76
irrigate2554  
   Jul 31, 2025
@unused 这个现在有公开 API 可以调用了么
JefferyWang
    77
JefferyWang  
   Jul 31, 2025
TOTP
xiuming
    78
xiuming  
   Jul 31, 2025
@cooltechbs 允许州官放火 不允许百姓点灯
zoharSoul
    79
zoharSoul  
   Jul 31, 2025
邮箱不就好了
NO9527
    80
NO9527  
   Jul 31, 2025
Google Authenticator ,拿到一个 key 放软件里就能生成验证码,不过要让用户装一个验证码软件也挺麻烦的,好像小程序有也不用装软件了?
darkengine
    81
darkengine  
   Jul 31, 2025
反过来,生成验证码让用户给你发,我记得网易邮箱还是啥就是这么搞的。
YVAN7123
    82
YVAN7123  
   Jul 31, 2025
@darkengine 国内有做这个的吗?
BadAngel
    83
BadAngel  
   Jul 31, 2025
双因素身份验证(2FA)
frankies
    84
frankies  
   Aug 1, 2025
抖音授权登录可以获取手机号,不用抖音的人直接 pass
ldw4033
    85
ldw4033  
   Aug 1, 2025
@wasaibi12345 所谓的实 ming 认证吧
sphawkcn
    86
sphawkcn  
   Aug 1, 2025
可能还是回到最原始的方式最稳妥,不完全依赖第三方,就是最开始的 [用户名+密码] 方式。
密码忘记了再通过邮箱或者其他方式重置密码。
liKeYunKeji
    87
liKeYunKeji  
   Aug 1, 2025
微信小程序自带的短信验证可以考虑一下。
SilentOrFight
    88
SilentOrFight  
   Aug 1, 2025
国内就是接一键登录 SDK ,然后指纹登录,然后微信\支付宝授权登录,这三不就够了吗???
freewarcraft
    89
freewarcraft  
   Aug 1, 2025
@zhonghao01 哈哈是的,我昨天还在一台新电脑的客户端上设置 qq 邮箱,生成客户端专用密码的时候需要这么搞,不过腾讯也是提供了其他验证方式的,只不过默认是发短信
SilentOrFight
    90
SilentOrFight  
   Aug 1, 2025
@darkengine #81 点名微博,动不动就说我账号高风险,让我改密码,先要求你下 App 改密码,然后改密码的时候说账号有风险需要给他们发短信,真特么恶心。
mmdsun
    91
mmdsun  
   Aug 1, 2025
One-Time Token 发邮件链接。
v2taa
    92
v2taa  
   Aug 1, 2025
@skiy 问下,流程这块我也考虑,但是就是要分好几步走,第一个码打开小程序,第二个才使用小程序进行确认关联用户,感觉扫描两次不太好
andyskaura
    93
andyskaura  
   Aug 1, 2025
totp 动态密钥
skiy
    94
skiy  
   Aug 1, 2025
@v2taa 如果已经验证。可以一步到位。已认证的主体,能够直接扫码进入到具体的页面和传自定义参数。未认证的不能传参。
Seulgi
    95
Seulgi  
   Aug 1, 2025
做多端,其他端扫码直接登录。
cybort
    96
cybort  
   Aug 2, 2025 via Android
邮箱发验证码,手机号只是填一下做备选方案,平时不需要用
darkengine
    97
darkengine  
   Aug 2, 2025
@YVAN7123 楼下有老哥帮忙补充了,某浪微博就是这么搞的
defiedparty
    98
defiedparty  
   Aug 13, 2025
运营商的一键登录,天翼云那种?该说不说最近一段时间没收到过垃圾小短信了。。。。
About     Help     Advertise     Blog     API     FAQ     Solana     3340 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 235ms UTC 13:41 PVG 21:41 LAX 06:41 JFK 09:41
Do have faith in what you're doing.
ubao msn 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