15个设计得最糟糕最变态的CAPTCHA验证码
来源:chinaz 发布时间:2008-09-01 17:17:00
CAPTCHA,全称为“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)。简单来说就是人类验证。当我们注册邮箱或到一些网站留言的时候,都需要输入验证码,一般的验证码是扭曲或模糊的数字,或一道简单的四则运算。CAPTCHA的作用是防止计算机自动完成注册、留言等操作。创意在互联网无处不在,就像这些主机箱,但如果验证码设计成下面这15种情况,那就相当糟糕和变态,不是创意了。
1、偏导数
要算到什么时候?

2、选择较“热”的3个人

3、MWMVWMMWVW...晕了

4、下图6个之中哪个不可以从右方的模型折叠出来?

5、输入“有猫”的字符

6、谁能看清?

7、如果说上面那组验证码你能看清,那下面这一组你看不清了吧?

8、你到底要我输入哪些?!

9、一堆?一陀?

10、第二和第四个字符是要我输入3.14吗?

11、第二个是X还是Y?

12、第一道求偏导,这一道求极限。
算出来基本上太阳都下山了。

13、不同的图形代表不同的字母。

14、谁看得清?

15、化学物质中文名称
这个是我亲身经历的,他的变态之处不在于验证码里要输入的内容,而是当你点击“想知道答案吗?”链接后会弹出一个对话框:不知道就算了,不用填。

验证码不是越复杂越好,应该在能基本区别人和计算机,但不能过于复杂。某些中文网站采用中文作为验证码,我认为这样的体验不好,首先不是每个上网的人都能或可以打中文,第二是可能会碰到某些不会打的字。
CAPTCHA不是万能的,俄罗斯的一个黑客组织使用一个自动识别软件在2006年破解了Yahoo的CAPTCHA。准确率大概是15%,但是攻击者可以每天尝试10万次,相对来说成本很低[1]。而在2008年,Google的CAPTCHA也被俄罗斯黑客所破解。攻击者使用两台不同的电脑来调整破解进程,可能是用第二台电脑学习第一台对CAPTCHA的破解,或者是对成效进行监视。(via Wikipedia)
注:本文一部分验证码来源自Docstoc,其中一个是我亲身经历的。


猜你喜欢
- 1.1全部php生成结构1.2html中嵌套php总结如下:html和php混写规则:php代码必须包在<?php ?>html
- 终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 $content = iconv("utf-8",&quo
- 背景本文总结使用pytest编写自动化测试时常用的assert断言。说明本文将从以下几点做总结:为测试结果作断言为断言不通过的结果添加说明信
- <html> <head> <title>51windows.Net </title> &l
- 背景有一个项目,今年12月份开始重构,项目涉及到了socket。但是socket用的是以前一个开发人员封装的包(这个一直被当前的成员吐槽为什
- transforms按住Ctrl查看transforms的源码可以知道,transforms就是一个python文件,里面定义了很多类,每一
- 本文实例为大家分享了python使用tkinter实现简单计算器的具体代码,供大家参考,具体内容如下class Counter: #引入t
- 一、Jupyter Notebook是什么?1.notebook jupyter简介Jupyter Notebook是一个开源Web应用程序
- 本文实例讲述了Python OS模块。分享给大家供大家参考,具体如下:os模块在自动化测试中,经常需要查找操作文件,比如查找配置文件(从而读
- 示例首先模拟一个业务场景,有订单、产品、自定义订单三个结构体,订单中包含多个产品:type Order struct {Id
- PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, .
- 本文实例为大家分享了Python turtle实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下# Simple Snake Game in
- 在python中使用字典,格式如下:dict={ key1:value1 , key2;value2 ...}在实际访问字典值时的使用格式如
- 本文实例讲述了Python中的is和id用法。分享给大家供大家参考。具体分析如下:(ob1 is ob2) 等价于 (id(ob1) ==
- 这篇文章主要介绍了Python读取表格类型文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- <% Function XMLEncode(byVal sText) sText = Replace(sText, "&am
- Python for 和其他语言一样,也可以用来循环遍历对象,本文章向大家介绍Python for 循环的使用方法和实例,需要的朋友可与参考
- 用yum更新PHP,只需用一条命令就可以搞定: #yum update php 但问题来了,使用此命令后,系统告诉我,没有发现可更新的包。而
- 网上我也见到一些分栏效果,也有一个jquery的插件jquery.splitter.js, 但是他们基本都没有解决一个问题:如果页面上有if
- javascript中要判断一个变量是否为array通常是比较困难的,因为var a = [];alert(t