Laravel生成验证码

做网站就少不了验证码,不说废话,直接干。

  • 安装Captcha包
$ composer require mews/captcha

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

  • 在config/app.php中注册服务提供者和相应门面:
'providers' => [
    Mews\Captcha\CaptchaServiceProvider::class,
]

'aliases' => [
    // ...
    'Captcha' => Mews\Captcha\Facades\Captcha::class,
]
  • 如果要使用自定义的配置,还可以发布配置文件到config目录:

$ php artisan vendor:publish

  • 编辑生成的captcha.php:
return [
    'default' => [
        'length' => 5,
        'width' => 120,
        'height' => 36,
        'quality' => 90,
    ],
];
  • 使用实例
// app/Http/routes.php
Route::any('captcha-test', function()
{
    if (\Request::getMethod() == 'POST')
    {
        $rules = ['captcha' => 'required|captcha'];
        $validator = \Validator::make(\Request::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><img src="{!! captcha_src() !!}" onclick="this.src='{{ captcha_src() }}?r='+Math.random();" /></p>';
    $form .= '<p><input type="text" name="captcha"></p>';
    $form .= '<p><button type="submit" name="check">Check</button></p>';
    $form .= '</form>';
    return $form;
});
  • 点击切换验证码

<img src="{!! captcha_src() !!}" onclick="this.src='{{ captcha_src() }}?r='+Math.random();" />

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Laravel框架笔记 一、 composer的安装: 1.Composer是什么?是 PHP 用来管理依赖(de...
    李景磊阅读 928评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 6,834评论 3 64
  • 橘白落,暗凝香,今世芳华几时惘 流苏无意惊落草,只是秋太早 布衣洛,着素颜,步履追随宿命牵 黎明抹开西湖畔,夏荷昨...
    秋沐姝阅读 531评论 2 3
  • 7、按揭又有哪些好处? (1)按揭可以让你早日圆上住房梦。如果不能按揭,需要您一次性付款才能买房的话,那您就需要辛...
    瘦晓晓阅读 307评论 0 0