• y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 登录了本站
  • y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 登录了本站
  • k******* 登录了本站
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程

在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha。

下载

安装

使用composer:

composer require gregwar/captcha

使用

我们可以使用CaptchaBuilder创建一个验证码:

<?php
use Gregwar\Captcha\CaptchaBuilder;

$builder = new CaptchaBuilder;
$builder->build();

也可以把验证码保存为图片:

<?php
$builder->save('out.jpg');

或者直接输出为图片路径:

<?php
header('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个字符的验证码,可以这样:

<?php
use 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.jocat.cn/archives/1881,转载请注明出处。
0

站点提示

永久会员498点我去开通

VIP交流群(仅限终身VIP)点我加群

没有账号?注册  忘记密码?