zerosdev/laravel-captcha

Laravel 框架的验证码生成器

dev-master 2020-01-25 10:18 UTC

This package is auto-updated.

Last update: 2024-09-25 20:22:06 UTC


README

Laravel 验证码生成器

要求

  • PHP 5.6+
  • Laravel 框架 5.2+
  • GD 库已启用

安装

  • 运行
composer require zerosdev/laravel-captcha:dev-master
  • 将以下代码添加到您的 config/app.php 文件中的 providers 数组中
ZerosDev\LaravelCaptcha\ServiceProvider::class,
  • 将以下代码添加到您的 config/app.php 文件中的 aliases 数组中
'Captcha' => ZerosDev\LaravelCaptcha\Facade::class,
  • 运行
composer dump-autoload
  • 运行
php artisan vendor:publish --provider="ZerosDev\LaravelCaptcha\ServiceProvider"

配置

打开您的 config/captcha.php 文件并调整设置。您可以选择使用以下可用的方法动态调整一些验证码设置

chars(String)

设置将用作验证码文本的字符

size(Integer width, Integer height)

设置验证码图像的宽度和高度(像素(px))

length(Integer)

设置验证码字符长度

生成示例


// Import from root class (Captcha Facade)
use Captcha;

// generate captcha
$captcha = Captcha::chars('123456789ABCDEFGHIJKLMNPQRSTUVWXYZ')->length(4)->size(120, 40)->generate();

// get captcha id
$id = $captcha->id();
// return random generation id

// print html hidden form field, used in blade template
{{ $captcha->form_field() }}
// return: <input type="hidden" name="captcha_id" value="XXXXXXXXXXXXXX" id="captcha_id">

// get base64 image
$image = $captcha->image();
// return data:image/png; base64,XXXXXXXXXXXXXX

// print html image, used in blade template
{{ $captcha->html_image(['onclick' => 'jsFunction()', 'style' => 'border:1px solid #ddd']) }}
// return: <img src="data:image/png; base64,XXXXXXXXXXXXXX" onclick="jsFunction()" style="border:1px solid #ddd" />

验证


// Import from root class (Captcha Facade)
use Captcha;

// validate captcha
// $captchaId = Captcha generation id, $captcha->id()
// $captchaText = Captcha input from client request

if( Captcha::validate($captchaId, $captchaText) )
{
    // Valid
}
else
{
    // Invalid
}

建议

建议避免在验证码中使用“0”和“O”字符,以避免歧义