验证码:captcha(全自动识别机器与人类的图灵测试)。常见验证码可以分为三种:页面上的图片形式、短信验证码、语音验证码。
在ThinkPHP中,为了提高开发效率,系统封装了一个验证码类:Verify.class.php
1.验证码类中的方法:
构造方法:在实例化的时候可以传递一个数组,用于和其成员属性config进行合并,生成新的配置
Check方法:校验验证码,传递参数,用户输入的验证码
Entry方法:输出图片,保存验证码到session中
2.生成常规验证码
常规验证码是指有数字+大小写字母组成的验证码。
第一步:实例化验证码类
实例化之前可以设置验证码的参数,以数组的形式,但不要在父类里面设置,要拿到构造器里设置,参数详情在ThinkPHP/Library/Think/下的Verify.class.php中有详细介绍(包括宽和高,字体大小,长度,字体,混淆线等等)
第二步:输出图片
3.生成中文验证码
需要将一种字体复制到ThinkPHP/Library/Think/Verify/zhttfs中
可以使用计算机自带的字体。例如:控制面板/字体/常规黑体
4.注意事项
关于中文验证码的几点说明:
第一:以后在实际开发的时候不到万不得已不要使用中文验证码;
第二:中文验证码需要中文字体的支持,中文字体可以在自己计算机中找到,当也可以去字体网站下载(比如说站长之家chinaz.com);
第三:使用中文验证码必须开启php的扩展mbstring。
扩展开启:打开php.ini文件,去掉扩展前的分号,保存,重启Apache即可。
5.关于项目中先验证谁的问题?
先验证验证码,如果验证码正确,再去验证用户名和密码。