使用 Captcha 扩展包 为 Laravel 5 应用生成验证码

WBOY
Lepaskan: 2016-06-23 13:07:48
asal
938 orang telah melayarinya

1、安装

我们通过 Composer 安装Captcha 扩展包 :

composer require mews/captcha
Salin selepas log masuk

注:Windows中使用该扩展包还需要安装 GD2 扩展(在 php.ini 中取消 php_gd2.dll 前面的注释)。

2、配置

使用Captcha服务提供者之前还需要在 config/app.php 中注册服务提供者:

'providers' => [    // ...    Mews\Captcha\CaptchaServiceProvider::class,]
Salin selepas log masuk

同时注册下相应门面:

'aliases' => [    // ...    'Captcha' => Mews\Captcha\Facades\Captcha::class,]
Salin selepas log masuk

如果要使用自定义的配置,还可以发布配置文件到 config 目录:

$ php artisan vendor:publish
Salin selepas log masuk

编辑新生成的 captcha.php :

return [    'default' => [        'length' => 5,        'width' => 120,        'height' => 36,        'quality' => 90,    ],    // ...];
Salin selepas log masuk

3、使用示例

// app/Http/routes.phpRoute::any('captcha-test', function(){    if (Request::getMethod() == 'POST')    {        $rules = ['captcha' => 'required|captcha'];        $validator = Validator::make(Input::all(), $rules);        if ($validator->fails())        {            echo '<p style="color: #ff0000;">Incorrect!</p>';        }        else        {            echo '<p style="color: #00ff30;">Matched :)</p>';        }    }    $form = '<form method="post" action="captcha-test">';    $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';    $form .= '<p>' . captcha_img() . '</p>';    $form .= '<p><input type="text" name="captcha"></p>';    $form .= '<p><button type="submit" name="check">Check</button></p>';    $form .= '</form>';    return $form;});
Salin selepas log masuk

显示效果如下:

如果要返回原生图片,可以调用这个函数:

captcha();
Salin selepas log masuk

或者

Captcha::create();
Salin selepas log masuk

如果要返回URL:

captcha_src();
Salin selepas log masuk

或者

Captcha::src();
Salin selepas log masuk

如果要返回HTML:

captcha_img();
Salin selepas log masuk

我们这个示例中使用的就是这个函数,或者调用 Captcha 门面上的方法:

Captcha::img();
Salin selepas log masuk

要使用配置文件 captcha.php 中不同的配置项,可以这样调用:

captcha_img('flat');Captcha::img('inverse');
Salin selepas log masuk
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!