Detailed explanation of how ThinkPHP generates and verifies verification codes

*文
Release: 2023-03-19 06:54:01
Original
2204 people have browsed it

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(); //输出验证码
 }
Copy after login

Display verification code at the front desk

<!--分组/控制器/方法--> 
<img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src=&#39;<{$smarty.const.__CONTROLLER__}>/verifyImg/&#39;+Math.random()" alt="验证码" />
Copy after login

ControllerVerification verification code (take login as an example)

//登陆
 function login(){
  
  //两个逻辑:展示,收集
  if (!empty($_POST)) {

   $verify = new Verify();

   //接收验证码
   $captcha = $_POST[&#39;captcha&#39;];
   //check()方法校验验证码
   if ($verify->check($captcha)) {
    echo "正确";
   }else{
    echo "错误";
   }
  }

  //调用view视图
  $this->display();
 }
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template