MENU

Laravel框架加入验证码库

前言

作为一个后端攻城狮,处理逻辑少不了验证码的,之前用ThinkPHP框架做开发的时候,TP框架已经集成用验证码,所以之前不用考虑这么多第三方集成的验证码。

Laravel验证码安装

  • 使用composer安装

    {
        "require": {
            "laravel/framework": "5.0.*",
            "mews/captcha": "~2.0"
        },
        "minimum-stability": "dev"
    }
    

    或者

    composer require mews/captcha
    
  • 修改config/app 注册验证码的服务

    //在providers添加如下代码
    'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]
    
    //在aliases添加如下代码
    'aliases' => [
         // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]
    
  • 添加自定义配置
    执行下面命令在config生成captcha.php自定义配置文件

    php artisan vendor:publish
    

    配置文件可以自行修改

    return [
    
        'characters' => '2346789abcdefghjmnpqrtuxyzABCDEFGHJMNPQRTUXYZ',
    
        'default'   => [
            'length'    => 5,
            'width'     => 120,
            'height'    => 36,
            'quality'   => 90,
        ],
    
        'flat'   => [
            'length'    => 6,
            'width'     => 160,
            'height'    => 46,
            'quality'   => 90,
            'lines'     => 6,
            'bgImage'   => false,
            'bgColor'   => '#ecf2f4',
            'fontColors'=> ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
            'contrast'  => -5,
        ],
    
        'mini'   => [
            'length'    => 3,
            'width'     => 60,
            'height'    => 32,
        ],
    
        'inverse'   => [
            'length'    => 5,
            'width'     => 120,
            'height'    => 36,
            'quality'   => 90,
            'sensitive' => true,
            'angle'     => 12,
            'sharpen'   => 10,
            'blur'      => 2,
            'invert'    => true,
            'contrast'  => -5,
        ]
    
    ];
    

    验证码的长度、颜色等等都可以自行修改。

使用

  • 可以直接在模板里调用,例如:

    <img src="{{ captcha_src() }}" onClick="this.src=this.src+'?'+Math.random()" >
    

    这样就可以实现验证码显示以及点击验证码图片会换一张。
    当然你还可以用其它样式,调用方法也很简单;

    {{ captcha_src('inverse') }}
    {{ captcha_src('flat') }}
    
  • 后台验证码的验证操作:
    直接可以调用Captcha_check()方法。

提醒:如果你使用的是Laravel 5.5版本请使用laravel-captcha这个验证码,这个是基于mews/captcha的修改(原来的那个作者没有更新,导致在Laravel 5.5版本中出现错误)。

标签: laravel
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码