Captcha和自动化操作

在日常工作中,有很多事情我们希望是可以程序化的,重复的工作让计算机来做这是机器给我们带来的便利。然而,便利之余,人们想要机器能够作更多的事情。比如抢单,抢票什么的都希望机器去完成。起初我也想,这看起来没问题。

后来我碰到了苹果的注册页面,这是一个看上去很简单的页面,一个表单,填进去,利用打码平台识别一下验证码就可以搞定了。这个页面看起来是这样的:

apple

最简单的想法是把想填的内容直接复制到每个给定的表单,提交就可以了。然而,在输入生日的那里碰到了很大的麻烦。这个控件上附加的时间处理函数有几十个之多。很难判断到底是哪个函数实现了其中的验证。而且在最后提交到服务器的请求中,并没有显式的看到有各个表单的值。只有一个json,其内容如下:

req

后面的token很长,但除此之外就没有其它的数据了。看起来其他的数据被放在这个token中了。并且这个请求中的名字很有意思,那就是captcha.

当初并没有特别在意这个名字,但是今天在另一个地方有碰到了它。于是去百度了一下,它真不是一个普普通通的名字,它的全名是:

Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)

根据百度的介绍,这个测试主要是针对验证码的。但是显然,苹果这里做的要比验证码的识别要多。其中每个表单项都有各种验证。结构太复杂以致一般人无法轻易知道到底是哪个函数在做验证,也不知道数据到底存到哪里去了。

最终的结果是,如果你想自动化那些不该自动化的东西(网页作者有意的防止自动化),你会碰到很多意想不到的困难。除非你认为你比那个页面的作者高明很多。

 

另外,在wordpress中有一个插件Captcha by BestWebSoft可以让你来制作类似的安全表单。也可以直接在插件中搜索Captcha得到相关的插件。



本文地址: http://www.bagualu.net/wordpress/archives/5193 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注