Rumah > pembangunan bahagian belakang > tutorial php > 详解ThinkPHP如何实现生成和校验验证码

详解ThinkPHP如何实现生成和校验验证码

*文
Lepaskan: 2023-03-19 06:54:01
asal
2328 orang telah melayarinya

ThinkPHP如何实现生成和校验验证码?本文主要为大家详细介绍了ThinkPHP实现生成和校验验证码功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。希望对大家有所帮助。

使用ThinkPHP实现生成/校验验证码功能,供大家参考,具体内容如下

首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数

1:check() 校验验证码是否正确

2:entry()输出验证码并把验证码的值保存的session中

3:authcode() 加密验证码(此方法在check()方法中被调用)

控制器生成验证码代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

//验证码

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

 }

Salin selepas log masuk

前台显示验证码

1

2

<!--分组/控制器/方法-->

<img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src=&#39;<{$smarty.const.__CONTROLLER__}>/verifyImg/&#39;+Math.random()" alt="验证码" />

Salin selepas log masuk

控制器校验验证码(以登陆为例)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//登陆

 function login(){

   

  //两个逻辑:展示,收集

  if (!empty($_POST)) {

 

   $verify = new Verify();

 

   //接收验证码

   $captcha = $_POST[&#39;captcha&#39;];

   //check()方法校验验证码

   if ($verify->check($captcha)) {

    echo "正确";

   }else{

    echo "错误";

   }

  }

 

  //调用view视图

  $this->display();

 }

Salin selepas log masuk

相关推荐:

详解PHP如何生成有时效性的密文

详解PHP如何将文本中的全角符号转为半角

详解PHP如何获取音频文件时长

Atas ialah kandungan terperinci 详解ThinkPHP如何实现生成和校验验证码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan