Laravel验证码

一,介绍

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

二,安装前准备

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

apt-get install php-gd

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

三,安装 mews/captcha

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

17773405-0449ead274fe11da.png
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值