被验证码折磨这么多年,我终于搞懂了它到底在防谁
深更半夜,我在某个网站填完一堆注册信息,点了提交。
屏幕上弹出一张图。灰底,四个歪歪扭扭的字母,一个被划了道斜线,另一个糊成一团。
我盯着看了十秒。
“rn”还是“m”?那个字母是“I”还是“l”还是“1”?
换一张。好家伙,这次八个字,还带颜色渐变。
说真的,那一瞬间我怀疑的不是自己是不是机器人,而是我到底还配不配当个人。
这事越想越不对劲。我们被验证码拦下来的次数,可能比被老板批评的次数还多。它到底在防谁?又凭什么让我们干这些莫名其妙的活?
最早那批验证码,顺手还干了件好事
这事得从上世纪末说起。2000 年前后,卡内基梅隆大学有个叫 Luis von Ahn 的人,鼓捣出了 CAPTCHA 这个词。
全称特别拗口,翻译过来大概是“全自动区分计算机和人类的图灵测试”。
逻辑朴素得可爱:机器认不出扭曲的字母,人能。所以只要你能读出来,就证明你是人。
然后这人又琢磨出一个更妙的点子,叫 reCAPTCHA。
那时候图书馆在扫描旧书,有些字模糊了,机器认不出来。怎么办?把这些认不出来的词,塞进验证码里,让全世界的人来认。
你每输一次验证码,其实是在帮人类数字化一本旧书。
一天几十万次登录,等于几十万个免费劳动力。这算盘打得,绝了。
那个“我不是机器人”的勾选框,藏着最多猫腻
后来谷歌把这东西收了。
再后来,验证码变成了一个勾选框:我不是机器人。
你是不是也觉得奇怪,就点一下,它凭什么信你?
说实话,它根本没看你点没点。
它在你点之前,早就开始观察你了。
鼠标移动的轨迹——正常人挪鼠标,是带弧度的,有轻微抖动,速度忽快忽慢。脚本呢?一条直线,或者精准得诡异。
还有你的浏览器指纹、停留时间、IP 地址、有没有登录谷歌账号、之前的浏览行为……
这些拼在一起,它心里大概就有数了。

所以你有时候勾都不用勾,它直接放你过去。有时候你明明勾了,“啪”一下又甩出一堆图让你点,那就是它对你起疑了。
点吧。选消防栓,选红绿灯,选斑马线。
你点消防栓的时候,其实在给AI打工
这才是最气人的部分。
你以为自己在“证明自己是人”,实际上你在做标注。
那些图片识别任务——消防栓、公交车、人行横道——正好是自动驾驶和图像模型最需要的训练数据。
你每点一次,都是在免费教 AI 认东西。
还不发工资那种。
不过话说回来,现在 AI 自己认这些玩意儿,已经比人还准了。所以这套玩法也在慢慢失效。
为什么验证码越来越难认?

因为军备竞赛。
你想防机器,机器就越学越强。早期那种扭曲字母,深度学习模型稍微训练一下,识别率比你眼睛还高。
所以验证码只能越来越变态。
加了噪点,加了背景线条,加了反色、旋转、重叠……
结果呢?机器还没被拦住,先把你拦住了。
普通人成了这场战争的炮灰。
更别说还有专门的“打码平台”。几块钱、十几块钱,能买上千次人工验证码识别。后台是真人在那儿一张张看图。
这就很黑色幽默了——验证码想拦住机器人,结果催生了一条“人肉机器人”产业链。
短信验证码,其实不是一回事

很多人把这俩混着说。
图形验证码,是问“你是不是人”。短信验证码,是问“这个手机号是不是你的”。
一个测的是人性,一个测的是所有权。
短信那个简单粗暴,但成本高——每条短信都是钱,还有被轰炸、被拦截的风险。
所以能省就省,能不上就不上。
它会不会有一天消失
有戏。
现在流行“无感验证”,你什么都不用点,后台默默把你和机器人区分开。
苹果搞的 passkey 也在推无密码登录。行为识别、设备指纹越来越成熟。
以后也许你连那个勾选框都见不到了。
但你要问我它会彻底消失吗——我猜不会。只要有利益,就有人刷票、发垃圾、薅羊毛。攻防这玩意儿,永远在。
只是它会换张脸,变得更隐形,甚至让你察觉不到。
所以下次再遇到那个糊成一团的字母,先别急着拍桌子。
它确实挺烦。
但它也在替你挡着一堆你根本不想看见的东西。
虽然……它自己也真是挺烦的。