验证码,不用解释,用于区别人和机器的手段。
大多数验证码都采用图片方式,还有有声音和视频(包括Flash)方式的,采用图片是因为目前的图片识别技术还不够成熟,很难把图片上的文字还原成字符文本,这使得给现在的验证码提供了一个基石,倘若哪天图片识别已不是问题,验证码们不得不另谋媒体了。除了上面的几种方式,也有把验证码存储在网页文件或者Cookie中的,这两种方式可能能够瞒过那种专注在discuz、dvbbs、Phpwind等灌水的程序。但若是你的站点真是一个好站,在没有其他防灌水机前提下使用这两种方式存储验证码的话可能要被人罐饱。所以啊,验证码的存储要找个安全的地方放置。一般验证码都是存储在服务器上的,比如Session。
不过现在的网民们越来越抱怨验证码的复杂,复杂得瞅了半天输入的结果还是错误的,更有甚者瞅了半天没看出个字符来,有点像在玩苏轼的”横看成岭侧成峰,远近高低各不同“。一方面为了防止恶意程序,另一方面为了勉强用户体验,验证的方式也变得五花八门了, 比如做算术题、常识题什么的,真是道高一尺魔高一丈。
不过我对于数字、字母组合的验证码有个建议,就是不要把大写字母O、小写字母o、数字0、大写字母I、数字1加入验证码生成范畴了,这几个字符经过复杂变化实在是难以区分。