欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

tp中php验证码程序,thinkPHP 验证码生成与验证

发布时间:2025/3/20 php 100 豆豆
生活随笔 收集整理的这篇文章主要介绍了 tp中php验证码程序,thinkPHP 验证码生成与验证 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您现在的位置是:网站首页>>PHP>>thinkPHP

thinkPHP 验证码生成与验证

发布时间:2018-12-06 13:34:11作者:wangjian浏览量:842点赞量:0

在thinkPHP中实现验证码使用了think-captcha扩展包

1:安装think-captcha扩展包

使用Composer进行安装think-captcha拓展,如果你没有安装Composer的话,可以参考Composer 安装composer require topthink/think-captcha

2:生成验证码

在控制器中添加一个验证码方法,例:<?php

namespace app\index\controller;

use think\captcha\Captcha;

class Index

{

public function verify()

{

$captcha = new Captcha();

return $captcha->entry();

}

}

在浏览器上访问verify方法对应的方法,例:http://local.tp.com/index/verify

浏览器显示效果如下

这时候验证码生成成功

注意:

如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息(数字或者字符串)$captcha = new Captcha();

return $captcha->entry(1);

验证码的配置参数

参数描述默认codeSet验证码字符集合略

expire验证码过期时间(s)1800

useZh使用中文验证码false

zhSet中文验证码字符串略

useImgBg使用背景图片false

fontSize验证码字体大小(px)25

useCurve是否画混淆曲线true

useNoise是否添加杂点true

imageH验证码图片高度,设置为0为自动计算0

imageW验证码图片宽度,设置为0为自动计算0

length验证码位数5

fontttf验证码字体,不设置是随机获取空

bg背景颜色[243, 251, 254]

reset验证成功后是否重置true

例:$config =    [

// 验证码字体大小

'fontSize'    =>    30,

// 验证码位数

'length'      =>    5,

// 关闭验证码杂点

'useNoise'    =>    true,

];

$captcha = new Captcha($config);

return $captcha->entry();

3:验证码在模板中显示

4:验证码验证// 检测输入的验证码是否正确,$value为用户输入的验证码字符串

if( !captcha_check($value ))

{

// 验证失败

}

如果你在页面上同时生成了多个验证码,则可以使用// 检测输入的验证码是否正确,$value为用户输入的验证码字符串,$id为验证码标识

if( !captcha_check($value, $id ))

{

// 验证失败

}

5:实现验证码实例

(1)控制器中<?php

namespace app\admin\controller;

use think\captcha\Captcha;

use think\Controller;

use think\facade\Request;

class Index extends Controller

{

public function verify()

{

$config =    [

// 验证码字体大小

'fontSize'    =>    30,

// 验证码位数

'length'      =>    5,

// 关闭验证码杂点

'useNoise'    =>    true,

];

$captcha = new Captcha($config);

return $captcha->entry();

}

public function index()

{

$has_text = Request::has('text','post');

if($has_text){

$text = Request::post('text');

if( !captcha_check($text))

{

echo '验证失败';

// 验证失败

}else{

//验证成功

echo '验证成功';

}

}else{

return $this->fetch()

}

}

}

模板中

   

点击刷新

//刷新验证码

function changeVer(){

document.getElementById("verImg").src="{:url('index/verify')}?tmp="+Math.random();

}

现象如下

0

+1

总结

以上是生活随笔为你收集整理的tp中php验证码程序,thinkPHP 验证码生成与验证的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。