验证码是一种区分是计算机还是人类的公共全自动程序,CAPTCHA是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写。验证码的作用主要是为了防止某些恶意行为,如恶意灌水、恶意注册、恶意破解等等。在注册页面或登录多次失败后出现验证码是现在很多网站通行的方式。
验证码一般分为文字验证码、图片验证码(包含gif动态图片验证码)、语音验证码、短信验证码、视频验证码。此外还有算术验证码,包括给出一段程序,验证其输出结果的,老程序员可能都用过皮皮书屋,当时的注册页面即是列出一段c语言算法,要求给出结果的。
这里将要介绍的是属于文字验证码及图片验证码。当然,数字验证码相当容易实现,很多框架都有自带的实现方法。以下三种验证码都是可以免费使用的。
1、BotDetect CAPTCHA
BotDetect提供图形验证及语音验证两种,来自国外的开源项目,可以直接通过vs的Nuget安装使用。支持asp/asp.net、java及PHP等。图形中显示的文字可设置世界上百种语言。
2、图片验证码:geetest极验验证
一种通过拖拉完成验证的验证方式,就像我们小时候玩拼图一样。而且使用简单,用户识别率高,完成验证速度快。基于saas云端提供验证服务,安全度高。而且美观大方。可以设置浮动式、嵌入式或弹出式,支持移动端验证。
3、点触验证码 touclick
点触验证码提供3种验证方式:点击图片中的文字,选择图片阵列中的某个图片,图片补全。
有没有觉得第二种方式很熟悉,没错,有点类似12306的验证方式。
以上三种验证码的调用方式都类似,使用公钥私钥在前端后端部署一下,增加验证失败逻辑处理即可。感兴趣的朋友可自行摸索,各自官网都有Demo提供。赶快去看吧,提升您的网站逼格,防垃圾注册、防数据爬取、防短信攻击、防拖库撞库、防恶意登录、防账号盗用、防虚假交易、防黄牛刷单、防投票作弊、防资源消耗。