PHP验证码类

https://packagist.org/packages/gregwar/captcha

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

759556-20190515193701698-1283815266.png

安装

composer require gregwar/captcha

使用

Code:
    1. <?php
    2. use Gregwar\Captcha\CaptchaBuilder;
    3. $builder = new CaptchaBuilder;
    4. $builder->build();
也可以把验证码保存为图片:
Code:
    1. <?php
    2. $builder->save('out.jpg');
或者直接输出为图片路径:
Code:
    1. <?php
    2. header('Content-type: image/jpeg');
    3. $builder->output();
也可以结合HTML直接输出图片:
Code:
    1. <img src="<?php echo $builder->inline(); ?>" />
我们可以使用PHP的session()来记录验证码并用于比对用户输入的验证码是否有效
Code:
    1. <?php
    2. $_SESSION['phrase'] = $builder->getPhrase();

上述代码在生成验证码的时候就把验证码保存在session中,当用户提交输入的验证码后,再从session中取出来进行比对,具体处理代码请查看DEMO和下载DEMO中的源码。
生成的验证码默认是5个字符,那如果你想生成4个字符的验证码,可以这样:

Code:
    1. <?php
    2. use Gregwar\Captcha\CaptchaBuilder;
    3. use Gregwar\Captcha\PhraseBuilder;
    4. $phraseBuilder = new PhraseBuilder(4);
    5. $builder = new CaptchaBuilder(null, $phraseBuilder);
    6. $builder->build();
    7. header('Content-type: image/jpeg');
    8. $builder->output();
如果你想生成的验证码只有数字
Code:
    1. <?php
    2. $phraseBuilder = new PhraseBuilder(4, '0123456789');
常用方法与选项

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.cnblogs.com/qinsilandiao/p/10871582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值