什么是 CAPTCHA

什么是 CAPTCHA?就是在许多网页窗体的最后,要你输入几个英文字母,确保你不是机器人的那个东西。CAPTCHA 的全名是「 C ompletely  A utomated  P ublic  T uring test to tell  C omputers and  H umans  A part」,或「全自动区分电脑与人类的图灵测试」,实作的方式很简单,就是问一个电脑答不出来,但人类答得出来的问题。

早期的 CAPTCHA 很简单,大多就是在一个比较杂乱的背景上有几个英文字母,要求使用者将字母写出来。但随着电脑判断、解析的算法越来越进步,创造 CAPTCHA 的这一方也不得不努力,将 CAPTCHA 设计得越来越复杂难明...直到连人类都快要识别不出来的地步 orz。

电脑识别图片一共有三个步骤:
 
  1. 消去背景
  2. 切割元素
  3. 辨认元素
现有的文字型 CAPTCHA 不外乎就是在这三个上面打转,举例来说:



上图的这个 EZ-Gimpy 产生的 CAPTCHA 就用了一个渐层的背景和扭曲的文字来让电脑辨识困难。事实上,以现代技术来说,这差不多是最容易破解的一种了 -- 电脑就是消去背景和辨认元素这两个部份最擅长,因此要让电脑辨识困难点,还必须要加上切割元素的困难度才行。


上图的这种 CAPTCHA 叫 reCAPTCHA,是一个使用率还蛮高的 CAPTCHA。reCAPTCHA 用的技术很有趣:它是去扫瞄古书,并从中找出电脑无法辨认出来的古字,加上一条增加切割元素困难度的曲线后,呈现给使用者。系统只知道两个字当中其中一个的答案,如果你答对了它知道的那个,那它就假设你是人类无误,并假设你的另外一个字也有答对,这样 reCAPTCHA 知道的字就又多一个了。


KCAPTCHA 则是让所有的字都黏在一起,让电脑无法正确地切割元素。


这是一个利用背景和前景的复杂度来增加辨试困难度的例子。不过总觉得这比扭曲的字还虐待人啊 = =。



虽然不多见,但也有些网站用的是动画的 CAPTCHA。这种对电脑来说几乎是不可能破解的,因为电脑很难知道哪个影格里的数据是正确的。当然,也不一定要靠文字才能做 CAPTCHA,像下面这个:



这个系统叫「KittenAuth」,顾名思议就是要你从九张可爱的动物中选出三张是猫咪的图来。这个利用的是电脑对没有固定模式的东西(像照片)的内容没辙的这点。另外一种 CAPTCHA 完全舍弃了图片,只问一个大概只有人类才答得出来的问题,例如:
  • 浴缸里装满了热__。
  • 瘾科技最帅的编辑是__。
之类的。看完一些比较正常的 CAPTCHA 之后,小姜也在网络上四处逛了逛,找看看有没有一些真的让人头昏眼花的 CAPTCHA。下面几个大家回答得出来吗?








「请以 PGN 格式,回答执白者的最佳下一步」




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Captcha验证码是一种用于验证用户身份的技术。它通常以图像形式出现,要求用户在输入框中输入由图像中显示的文字或数字。这种验证码的目的是区分机器和人类用户,以防止自动化程序或恶意软件的攻击。 在您提供的引用内容中,描述了一种实现常规输入验证码的方式,其中右边显示验证码图片,用户可以点击刷新验证码,左边的输入框用于用户输入验证码。这种方式是一种常见的验证码实现方式。 提到了使用深度学习来识别captcha验证码的项目实践。该项目使用Keras库构建了一个深度卷积神经网络,以识别captcha验证码。这种方法利用神经网络的模式识别能力,通过训练来学习captcha验证码的特征,并能够在实际应用中自动识别验证码。 提到了登录验证中常见的一种方式,即输入式验证码。这种验证码要求用户在输入框中手动输入由图像中显示的文字或数字,以验证用户身份。 综上所述,captcha验证码是一种用于验证用户身份的技术,通常以图像形式出现,并要求用户在输入框中输入由图像中显示的文字或数字。常规的输入验证码方式是在界面中显示验证码图片,用户点击刷新验证码,然后在相应输入框中输入验证码。深度学习可以用于识别captcha验证码,通过训练神经网络来自动识别验证码。输入式验证码是登录验证中常见的一种方式,要求用户手动输入验证码以完成验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值