现在不管使用什么系统,都需要进行各式各样的身份验证,在各种项目中验证码是必须会用到的,验证码从诞生开始就是为了区别出到底是人类操作,还是机操作。它在一定程度上可以提高网站的安全性,可以防止恶意注册及恶意破解密码。
在各类网站中验证码主要用在登录、注册中或者进行验证操作,都会用到验证码,比如下图:
既然验证码这么重要,今天我们一起来学习下在thinkphp5中,验证码是如何实现的。下面我们以商淘软件B2B2C(WSTMart)开源电子商务系统为例,给大家讲解一下在thinkphp 5中如何使用验证码。
在wstmart官网(http://www.wstmart.net)中下载开源商城的代码。
在\wstmart\home\controller\Base.php文件中 /**
- 获取验证码 */ public function getVerify(){ WSTVerify(); }
在\wstmart\common\common\function.php文件中 /**
- 生成验证码[在thinkphp5中可以灵活配置参数生成验证码] */ function WSTVerify(){ $Verify = new \verify\Verify(); $Verify->length = 4; //验证码位数 //$Verify->expire = 1800; //$Verify->useZh= false; //中文验证码字符串 //$Verify->fontSize= 15; //验证码字体大小(px) //$Verify->useCurve= true; //是否画混淆曲线 //$Verify->useNoise= true; //是否添加杂点 //$Verify->imageH= true; //是否添加杂点 //$Verify->imageW= true; //是否添加杂点 //$Verify->reset= true; //验证成功后是否重置 $Verify->entry(); }
在页面上通过<img id='verifyImg' src="{:url('home/index/getVerify')}" οnclick='javascript:WST.getVerify("#verifyImg")' >引用验证码 /**
- 核对验证码 */ function WSTVerifyCheck($code){ $verify = new \verify\Verify();//创建验证器 return $verify->check($code);//调用check方法进行验证 }
用户提交验证码参数“verifyCode”数据,后台通过调用WSTVerifyCheck方法对输入的验证码进行验证;
以上就是thinkphp5中验证码是如何实现的,大家有什么问题也可以跟我们一起交流哦!