在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha。
安装
使用composer:
composer require gregwar/captcha
复制
使用
我们可以使用CaptchaBuilder
创建一个验证码:
<?phpuse Gregwar\Captcha\CaptchaBuilder; $builder = new CaptchaBuilder; $builder->build();
复制
也可以把验证码保存为图片:
<?php$builder->save('out.jpg');
复制
或者直接输出为图片路径:
<?phpheader('Content-type: image/jpeg'); $builder->output();
复制
也可以结合HTML直接输出图片:
<img src="<?php echo $builder->inline(); ?>" >
复制
我们可以使用PHP的session()
来记录验证码并用于比对用户输入的验证码是否有效,请看:
<?php$_SESSION['phrase'] = $builder->getPhrase();
复制
上述代码在生成验证码的时候就把验证码保存在session中,当用户提交输入的验证码后,再从session中取出来进行比对,具体处理代码请查看DEMO和下载DEMO中的源码。
生成的验证码默认是5个字符,那如果你想生成4个字符的验证码,可以这样:
<?phpuse Gregwar\Captcha\CaptchaBuilder;use Gregwar\Captcha\PhraseBuilder; $phraseBuilder = new PhraseBuilder(4); $builder = new CaptchaBuilder(null, $phraseBuilder); $builder->build(); header('Content-type: image/jpeg'); $builder->output();
复制
如果你想生成的验证码只有数字,只需修改:
<?php$phraseBuilder = new PhraseBuilder(4, '0123456789');
复制
这样就可以生成4个数字的验证码。
常用方法与选项
build($width = 150, $height = 40, $font = null)
:设置生成的验证码的宽度、高度以及字体。默认情况下,将随机使用库中的字体。
save($filename, $quality = 80)
:生成一张指定文件名和图片质量的jpg验证码图片。
get($quality = 80)
:获取jpg图片data数据。
output($quality = 80)
:向浏览器输出图片。
setBackgroundColor($r, $g, $b)
:设置验证码背景色,这个选项一般不推荐使用。
getPhrase()
:获取验证码内容。
更多详情请参考captcha项目地址:https://github.com/Gregwar/Captcha.
在线演示:https://www.helloweba.net/demo/2018/captcha/
文章转载自Helloweba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1871次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
867次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
604次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
496次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
486次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
464次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
405次阅读
2025-04-07 09:44:54
天津市政府数据库框采结果公布!
通讯员
359次阅读
2025-04-10 12:32:35
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
356次阅读
2025-04-17 17:02:24
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
336次阅读
2025-04-18 10:01:22