Laravel验证码

一,介绍

验证码 是防止恶意破解密码、刷票、论坛灌水、刷页的手段。验证码有 多种类型。 本项目中我们将使用图片验证码,其原理是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别软件(OCR)自动辨识。由于计算机无法识别验证码的图片,所以回答出问题的用户就可以被认为是人类。

二,安装前准备

请勿务必安装PHP的gd拓展!!!
如果没安装可以采用下列代码

apt-get install php-gd

网上好多教程上面都写着php5-gd或者php7-gd,经过浅农实现,在Ubuntu18.0版本上不可取。

三,安装 mews/captcha

简单说一下, mews/captcha是比较适合Laravel项目的第三方验证码包,样式也很好看。
预览图:

image.png

使用composer安装:

$ composer require "mews/captcha"

注册:
config/app.php下的providers数组里面追加一下代码

Mews\Captcha\CaptchaServiceProvider::class,

**aliases **数组里面追加

'Captcha' => Mews\Captcha\Facades\Captcha::class,

在composer命令行下执行

php artisan vendor:publish

生成配置文件captcha.php

四,配置验证码

config/captcha.php

<?php

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()}}" style="cursor: pointer" 
onclick="this.src='{{captcha_src()}}'+Math.random()">

未完待续

本文参考地址:https://learnku.com/articles/23704
系统版本号:Ubuntu18.0

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容