有拼图拼半天对不上的,有找出图片中所有树木找不全的,有算不出准确数字的,各种各样、千奇百怪的验证码每次都让人猝不及防。
但请注意,“验证码”可不是专门用来为难你的,而是在区分人类和机器方面起了巨大作用。比如一个滑动对齐拼图类型的验证码,计算机可以直接通过算法滑得又快又准。
而你,我的朋友,你那努力缓慢滑动的手指、小心翼翼绷紧神经想要对齐的样子,显得很心酸。
验证码这么为难你其实是科学家们的巧思,既然无法凭借聪明来区分人类和机器,那不如就比比谁更“愚蠢”。
2002年,路易斯·冯·安(Luis von Ahn)和他的小伙伴在卡内基梅隆第一次提出CAPTCHA(验证码)这样一个程序概念,它是一个全自动区分计算机和人类的公开图灵测试。
所谓图灵测试,就是人类提问计算机解答,用来判定计算机能否在智力行为上表现得和人无法区分。想要分辨电脑前是否为真人,只需要把这个测试反过来——由机器提问人类解答,即反向图灵测试。
CAPTCHA可以向请求的发起方提出问题,能正确回答的即是人类,反之则为机器。这个程序基于这样一个重要假设:提出的问题要容易被人类解答,并且让机器无法解答。
为何要这样设计?早在2002年时,网络世界其实并没有验证码,那时想在论坛发帖,只需敲下回车键便可。
不过正是如此,有黑客趁机编写出一种能大量、重复编写信息的程序,它们伪装成人类用户,向网络发布信息,由此带来的是,各种垃圾邮件、垃圾广告、垃圾评论的肆无忌惮。
而验证码的发明打破了这一乱象。最初的验证码由英文、数字组合,那时计算机程序无法识别扭曲、部分被遮挡的数字和字母,因此它能有效阻止恶意程序对网站的攻击和污染。
随着互联网技术的逐渐发展,不断学习发展的机器人变得越来越聪明,于是验证码机制并不仅仅局限于图形或字母等简单的类型,逐渐衍生出各种千奇百怪的种类,比如点击正确的图案、算数学题、依次点击文字等等。
这下好了,再高难度的验证码,机器人都能够轻松破解,而且在准确率和速度上都吊打人类。
那怎么办?科学家们便选择另辟蹊径,既然比不了聪明,那就比谁更“愚蠢”。
比如人们现在所熟知并经常碰见的滑动型验证码,用户通过拖动滑块行为来完成校验,可以将用户拖动行为的时间、精度,滑动轨迹等信息传到服务器,然后进行后台算法验证。
还有滑动拼图类型的验证码,机器随机给出一张拼图,有一块拼图需要滑动到正确位置。
因为人在移动滑块的时候不可能是匀速的,这个过程有很多不稳定的因素,正是通过不稳定的轨迹,后台服务器才会识别该操作来自于人,而不是稳定的脚本程序。比如,只是简单的匀速滑动就可以将其判定为机器操作。
这时候你哆哆嗦嗦的手指将将把拼图块和整个图形对齐,一边你被机器人判定为真人,另一边还会被机器人送上贴心鼓励:“恭喜你用时2.3秒,成功超过全国73%的人。”
当然,验证码的初衷无疑是好的,但是为了安全而不断为难用户,降低用户使用感受反而得不偿失。因此,未来验证码的发展方向在考虑更加安全的因素的同时,还要考虑用户的使用体验度。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved