How does ThinkPHP generate and verify verification codes? This article mainly introduces the function of generating and verifying verification codes in ThinkPHP in detail. It has certain reference value and interested friends can refer to it. I hope to be helpful.
Use ThinkPHP to implement the function of generating/verifying verification codes for your reference. The specific content is as follows
First understand the parent class Verity.class.php (ThinkPHP/Library/Think/Verity .class.php)
1:check() Verify whether the verification code is correct
2:entry() output the verification code and save the value of the verification code in the session
3:authcode() encrypted verification code (this method is called in the check() method)
ControllerGenerate verification codeCode:
//验证码 function verifyImg(){ //验证码配置 $cfg = array( 'imageH' => 30, // 验证码图片高度 'imageW' => 100, // 验证码图片宽度 'fontSize' => 15, // 验证码字体大小(px) 'length' => 4, // 验证码位数 'fontttf' => '4.ttf', // 验证码字体,不设置随机获取 ); //实例化Verify类 自动调用构造函数,把$cfg信息传给$config $verify = new Verify($cfg); $verify -> entry(); //输出验证码 }
Display verification code at the front desk
<!--分组/控制器/方法--> <img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src='<{$smarty.const.__CONTROLLER__}>/verifyImg/'+Math.random()" alt="验证码" />
ControllerVerification verification code (take login as an example)
//登陆 function login(){ //两个逻辑:展示,收集 if (!empty($_POST)) { $verify = new Verify(); //接收验证码 $captcha = $_POST['captcha']; //check()方法校验验证码 if ($verify->check($captcha)) { echo "正确"; }else{ echo "错误"; } } //调用view视图 $this->display(); }
Related recommendations:
Detailed explanation of how PHP generates time-sensitive ciphertext
Detailed explanation of how PHP converts full-width symbols in text to half-width characters
Detailed explanation of how to get the audio file duration in PHP
The above is the detailed content of Detailed explanation of how ThinkPHP generates and verifies verification codes. For more information, please follow other related articles on the PHP Chinese website!